Maison >Opération et maintenance >Docker >Comment lire la commande Docker Startup
Il existe plusieurs façons de visualiser les commandes de démarrage d'un conteneur Docker, selon que le conteneur est en cours d'exécution ou arrêté, et le niveau de détail dont vous avez besoin. Pour les conteneurs en cours d'exécution, la méthode la plus simple consiste à utiliser la commande docker inspect
. Cette commande fournit une multitude d'informations sur un conteneur, y compris sa configuration et la commande utilisée pour la démarrer.
spécifiquement, vous trouverez la commande sous le champ Config.Cmd
dans la sortie JSON. Si le conteneur a commencé à utiliser une ENTRYPOINT
et un CMD
, Config.Cmd
reflétera l'instruction CMD
. Si seulement un ENTRYPOINT
était spécifié, Config.Cmd
affiche la commande ENTRYPOINT
. Gardez à l'esprit que cela montre la commande originale ; Toutes les modifications apportées dans le conteneur après le démarrage ne seront pas reflétées ici.
Pour les conteneurs arrêtés, les informations sont toujours accessibles à docker inspect
. Cependant, vous devrez peut-être utiliser l'ID de conteneur ou le nom obtenu à partir de docker ps -a
(qui répertorie tous les conteneurs, y compris ceux arrêtés).
Une autre approche moins directe consiste à examiner le dockerfile utilisé pour construire l'image. Les instructions CMD
et ENTRYPOINT
dans le dockerfile dictent la commande de démarrage du conteneur. Cette méthode ne fournit que la commande prévue, pas nécessairement la commande exacte utilisée pour lancer une instance spécifique.
En outre docker inspect
, dont nous avons discuté ci-dessus, plusieurs autres méthodes peuvent aider à déterminer la commande de démarrage, bien qu'avec des niveaux de détail et d'applicabilité:
docker logs
: Bien que principalement pour afficher les journaux de conteneurs, docker logs <container_id>
peut révéler des indices sur la commande initiale si l'application elle-même enregistre ces informations au démarrage. Ceci est indirect et peu fiable, car il dépend du comportement de journalisation de l'application. CMD
et ENTRYPOINT
dans le dockerfile fournit la commande de démarrage prévue. Ceci est utile pour comprendre le conception du conteneur, mais peut ne pas correspondre parfaitement à la commande réelle utilisée pour une instance de conteneur spécifique si le conteneur a été démarré avec différentes options de ligne de commande. docker-compose up
reflète la commande utilisée pour démarrer le conteneur. La vérification de votre fichier docker-compose.yml
affichera la section command
spécifiée pour le service. La commande ENTRYPOINT
fait partie de la définition de l'image du conteneur et n'est pas directement modifiée à Runtime. Pour trouver la commande ENTRYPOINT
, encore une fois, la commande docker inspect <container_id>
est la méthode la plus fiable. Recherchez le champ Config.Entrypoint
dans la sortie JSON. Ce champ contient le tableau représentant la commande ENTRYPOINT
. Si aucun ENTRYPOINT
a été spécifié dans le Dockerfile, ce champ sera vide ou null
. N'oubliez pas que le ENTRYPOINT
est généralement exécuté d'abord, puis le CMD
(si présent) est utilisé comme arguments dans le ENTRYPOINT
.
Non, vous ne pouvez pas voir directement le Exact Commande de Docker spécifique. Affiche la commande originale spécifiée dans l'instruction du dockerfile ou la commande fournie lorsque le conteneur a été créé. Toutes les modifications apportées à l'arborescence de processus du conteneur après le démarrage ne sont pas suivies par Docker d'une manière qui révèle directement l'invocation d'origine. Vous pouvez indirectement déduire des informations via des journaux ou une liste de processus dans le conteneur lui-même, mais cela ne vous donnera pas les arguments de ligne de commande précis, comme transmis à la commande docker inspect
. La commande CMD
vous donne l'approximation la plus proche de la commande initiale. docker run
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!