Maison >Opération et maintenance >Docker >Quelle est la différence entre t et d dans la commande run dans docker ?
Dans Docker, la commande run est utilisée pour créer un nouveau conteneur et exécuter une commande. La définition du paramètre "-t" peut réaffecter un pseudo terminal d'entrée au conteneur, et la définition du paramètre "-d" exécutera le conteneur dans l'arrière-plan. et renvoie l'ID du conteneur.
L'environnement d'exploitation de ce tutoriel : système linux7.3, version docker-1.13.1, ordinateur Dell G3.
docker run : Créez un nouveau conteneur et exécutez une commande
Syntaxe
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Description des OPTIONS :
-a stdin : Spécifiez la norme Type de contenu d'entrée et de sortie, facultatif STDIN/STDOUT/STDERR ;
-d : exécute le conteneur en arrière-plan et renvoie l'ID du conteneur
-i : exécute le conteneur en mode interactif, généralement utilisé avec -t;
-P : Mappage de port aléatoire, le port interne du conteneur est mappé de manière aléatoire au port de l'hôte
-p : Spécifiez le mappage de port, le format est : port hôte (hôte) : port du conteneur
-t : Remappez le conteneur Attribuez un pseudo terminal d'entrée, généralement utilisé avec -i ;
--name="nginx-lb": Spécifiez un nom pour le conteneur ; 8.8.8.8 : Spécifiez le serveur DNS utilisé par le conteneur, la valeur par défaut est cohérente avec l'hôte ;
--dns-search example.com : Spécifie le nom de domaine de recherche DNS du conteneur, la valeur par défaut est cohérente avec l'hôte ;
-h "mars" : Spécifie le nom d'hôte du conteneur ;
- e username="ritchie" : Définir les variables d'environnement ;
--env-file=[] : Lire les variables d'environnement à partir de le fichier spécifié ;
--cpuset="0-2" ou --cpuset= "0,1,2" : Liez le conteneur au CPU spécifié à exécuter
-m : Définissez le maximum ; utilisation de la mémoire du conteneur ;
--net="bridge" : Spécifiez le type de connexion réseau du conteneur, pont/hôte/aucun/conteneur pris en charge : quatre types ; ajouter un lien vers un autre conteneur
--expose=[] : ouvrir un port ou un groupe de ports
--volume, -v : Lier un volume
Par exemple : "Je je veux exécuter un miroir en arrière-plan", lorsque j'ai exécuté la commande suivante
docker run -d --name server somebody:dockerfile
CMD ["/bin/bash"]
, ce qui signifie que lorsque vous l'exécutez en arrière-plan, le conteneur créé par cette image exécutera d'abord /bin/bash, ce qui signifie que lors de l'exécution en arrière-plan (-d ), le shell se ferme immédiatement. Donc, à moins que la commande ne s'exécute pas au premier plan, le conteneur s'arrêtera immédiatement
Fournissez un pseudo "tty n" pour -d via -i ou -t
docker run -i -d images:tags docker run -t -d images:tags docker run -itd images:tags
Ajoutez tail -f /dev/null au command
En faisant cela, le conteneur ne s'arrêtera pas même si la commande principale s'exécute en arrière-plan car la queue continuera à s'exécuter au premier plan.
docker run -d centos tail -f /dev/null
La même chose est vraie pour l'autre situation (entrer dans le conteneur) Docker recommande officiellement l'utilisation de -i et -t pour qu'il se comporte comme un shell.
docker run -i -t <images:tags>
Apprentissage recommandé : "
Tutoriel vidéo Docker"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!