web-dev-qa-db-fra.com

Démarrer un shell dans le conteneur Docker Alpine

Pour démarrer un shell interactif pour l'image Ubuntu, nous pouvons exécuter:

ole@T:~$ docker run -it --rm ubuntu
root@1a6721e1fb64:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

Mais lorsque ceci est exécuté pour le image Alpine Docker , les résultats suivants sont obtenus:

ole@T:~$ docker run -it --rm Alpine
Error response from daemon: No command specified

Quelle est la commande pour démarrer un Shell interactif dans un conteneur de base Alpine?

119
Ole
ole@T:~$ docker run -it --rm Alpine /bin/ash
(inside container) / # 

Options utilisées ci-dessus:

  • /bin/ash est Ash ( Almquist Shell ) fourni par BusyBox
  • --rm Supprime automatiquement le conteneur à sa sortie (docker run --help)
  • -i Mode interactif (Conservez STDIN ouvert même s'il n'est pas connecté)
  • -t Allouer un pseudo-TTY
212
Ole

Habituellement, une image Alpine Linux ne contient pas bash, mais vous pouvez utiliser /bin/ash, /bin/sh, ash ou uniquement sh.

/ bin/ash

docker run -it --rm Alpine /bin/ash

/ bin/sh

docker run -it --rm Alpine /bin/sh

cendre

docker run -it --rm Alpine ash

sh

docker run -it --rm Alpine sh

J'espère que cette information vous aide.

54
jansanchez