Lors de la première exécution du conteneur Alpine Docker et de la tentative d'installation d'Openshsh, les événements suivants se produisent:
ole@T:~$ docker run -it --rm Alpine /bin/ash
/ # apk add openssh
WARNING: Ignoring APKINDEX.d3812b7e.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.bb2c5760.tar.gz: No such file or directory
ERROR: unsatisfiable constraints:
openssh (missing):
required by: world[openssh]
Comment OpenSsh doit-il être installé?
Courir apk update
première. La pâte ci-dessous contient un exemple complet:
ole@T:~$ docker run -it --rm Alpine /bin/ash
/ # apk update
fetch http://dl-4.alpinelinux.org/Alpine/v3.3/main/x86_64/APKINDEX.tar.gz
fetch http://dl-4.alpinelinux.org/Alpine/v3.3/community/x86_64/APKINDEX.tar.gz
v3.3.1-97-g109077d [http://dl-4.alpinelinux.org/Alpine/v3.3/main]
v3.3.1-59-g48b0368 [http://dl-4.alpinelinux.org/Alpine/v3.3/community]
OK: 5853 distinct packages available
/ # apk add openssh
(1/3) Installing openssh-client (7.1_p2-r0)
(2/3) Installing openssh-sftp-server (7.1_p2-r0)
(3/3) Installing openssh (7.1_p2-r0)
Executing busybox-1.24.1-r7.trigger
OK: 8 MiB in 14 packages
Comme la réponse est déjà donnée mais je vais ajouter quelque chose.
Dans la nouvelle version, si vous souhaitez installer quelque chose sans mettre en cache localement les choses, ce qui est recommandé pour garder vos conteneurs petits, incluez le --no-cache
drapeau. Exemple:
apk add --no-cache openssh
C'est un petit gain, cela vous empêche d'avoir le commun rm -rf /var/cache/apk/*
à la fin de votre fichier Docker.