Je travaillais sur des tâches complexes avec docker, mais en fin de compte, je ne sais pas ce que signifie -it
. Récemment, je suis tombé sur un exemple de commande docker run
qui m'a un peu dérouté.
docker run -itd ubuntu:xenial /bin/bash
Ma question est de savoir ce qui est sensé d'écrire -it
flag ici, si le conteneur lors de l'instanciation s'exécute bin/bash
Dans la documentation, nous avons un exemple
docker run --name test -it debian
avec explication
Il demande à Docker d’allouer un pseudo-TTY connecté au stdin du conteneur; créer un shell bash interactif dans le conteneur.
et explication de l'option -t depuis la page d'aide
-t, --tty Allouer un pseudo-ATS
si je supprime -il flag pendant
docker run -d ubuntu:xenial /bin/bash
mon conteneur nouvellement créé ne vit pas tellement
dans docker ps -a
il est désigné comme sorti
Désolé, si ma question est assez stupide, je ne peux pas trouver d'explication sur Internet (j'ai un malentendu important sur ce point).
-it
est l'abréviation de --interactive + --tty
lorsque vous docker run
avec cette commande .. vous emmèneriez directement à l'intérieur du conteneur, où -d
est l'abréviation de --detach
ce qui signifie que vous exécutez simplement le conteneur puis en détachez , vous devez donc exécuter le conteneur en arrière-plan .. edit: so si vous exécutez le conteneur docker avec-itd
, il lancera les options-it
et vous détachera du conteneur. Votre conteneur continuera donc à s'exécuter en arrière-plan, même sans application par défaut à exécuter.
docker run -it ubuntu:xenial /bin/bash
démarre le conteneur en mode interactif (d'où le drapeau -it
qui permet d'interagir avec /bin/bash
du conteneur. Cela signifie que vous allez maintenant avoir bash
session à l'intérieur le conteneur, de sorte que vous pouvez ls
, mkdir
ou faire une commande bash à l'intérieur du conteneur.
La clé ici est le mot "interactif". Si vous omettez l'indicateur, le conteneur exécute toujours /bin/bash
mais se ferme immédiatement. Avec l'indicateur, le conteneur exécute /bin/bash
puis attend patiemment votre entrée.