Maison >Opération et maintenance >Docker >Comment lire la commande Docker Startup

Comment lire la commande Docker Startup

Johnathan Smith
Johnathan Smithoriginal
2025-03-05 15:50:18183parcourir

Comment afficher les commandes de démarrage Docker?

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.

Quelles sont les différentes façons de vérifier la commande utilisée pour démarrer un conteneur Docker?

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.
  • Examiner le dockerfile: Comme mentionné précédemment, l'inspection des instructions 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: Si vous avez utilisé Docker Compose pour démarrer votre conteneur, la 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.

Comment puis-je trouver la commande d'entrée d'un conteneur Docker en cours d'exécution?

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.

Puis-je voir la commande exacte utilisée pour lancer un conteneur docker spécifique après avoir commencé?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:À quoi sert Docker?Article suivant:Aucun