J'ai fait un tirage de menu fixe et je peux répertorier l'image téléchargée. Je veux voir le contenu de cette image. A fait une recherche sur le net mais pas de réponse directe. Merci.
Réponses
Trop de publicités?Il vous suffit d'exécuter un shell interactif conteneur à l'aide de cette image et d'explorer quel que soit le contenu que l'image.
Par exemple:
docker run -it image_name sh
Ou, si vous voulez voir comment l'image a été construit, ce qui signifie le suit dans ses Dockerfile
, vous pouvez:
docker image history --no-trunc image_name > image_history
Les étapes seront enregistrés dans l' image_history
le fichier.
Pour les images avec un entrypoint
configuré, vous pouvez exécuter docker run -it --entrypoint sh image_name
au lieu de le remplacer (gentiment suggéré dans les commentaires).
Vous ne devez pas démarrer un conteneur uniquement pour voir le contenu de l'image. Par exemple, vous souhaiterez peut-être rechercher du contenu malveillant, et non pas l'exécuter. Utilisez "create" au lieu de "run";
docker create --name="tmp_$$" image:tag
docker export tmp_$$ | tar t
docker rm tmp_$$
La accepté de répondre ici est problématique, car il n'y a aucune garantie qu'une image s'affiche toute sorte de shell interactif. Par exemple, le drone drone/ image contient sur une seule commande /drone
, et il a un ENTRYPOINT
ainsi que, si cela ne fonctionne pas:
$ docker run -it drone/drone sh
FATA[0000] DRONE_HOST is not properly configured
Et cela ne fonctionne pas:
$ docker run --rm -it --entrypoint sh drone/drone
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"sh\": executable file not found in $PATH".
Ce n'est pas rare de configuration; le nombre minimal d'images contiennent uniquement les binaires nécessaires pour soutenir le service cible. Heureusement, il existe des mécanismes pour explorer une image de système de fichiers qui ne dépend pas du contenu de l'image. Le plus simple est probablement l' docker export
de commande, ce qui permettra d'exporter un conteneur de système de fichiers comme une archive tar. Donc, commencer à un conteneur (il n'a pas d'importance si il ne respecte pas ou pas):
$ docker run -it drone/drone sh
FATA[0000] DRONE_HOST is not properly configured
Ensuite, utilisez docker export
d'exporter le système de fichiers tar
:
$ docker export $(docker ps -lq) | tar tf -
L' docker ps -lq
"signifie "donnez-moi l'id de la plus récente conteneur docker". Vous pouvez remplacer qui explicite le nom du conteneur ou de l'identifiant.
docker save nginx > nginx.tar
tar -xvf nginx.tar
Les fichiers suivants sont présents:
- le manifeste.json – Décrit le système de fichiers de couches et le nom de fichier json qui a le Conteneur des propriétés.
- .json Contenant les propriétés
- – Chaque "layerid" répertoire contient le fichier json décrivant propriété de calque et le système de fichier associé à cette couche. Docker magasins Contenant des images en tant que couches pour optimiser l'espace de stockage grâce à la réutilisation des couches à travers des images.
https://sreeninet.wordpress.com/2016/06/11/looking-inside-container-images/
OU
vous pouvez utiliser de plongée pour afficher le contenu de l'image de manière interactive avec le TUI