Comme il ne peut pas être extrait directement de l'image, démarrez le conteneur comme indiqué ci-dessous et copiez-le avec docker cp
.
CONTAINER_ID=`docker create $IMAGE_NAME`
docker cp $CONTAINER_ID:$FILEPATH .
Vous souhaiterez peut-être récupérer le code source ou les fichiers dans une image que vous avez déployée pour une enquête sur les bogues ou les spécifications. J'ai résumé la procédure à suivre à ce moment-là.
Tout ce que vous devez savoir est le chemin du fichier ou du répertoire cible, mais sinon, vous devrez regarder à l'intérieur pour trouver ce que vous recherchez.
Il doit contenir / bin / bash et / bin / sh, alors utilisez-le pour rechercher des fichiers de manière interactive.
docker run --rm -it $IMAGE_NAME /bin/bash
S'il n'est pas inclus, vous pouvez l'utiliser comme image de base du Dockerfile et créer une image installée.
Vous pouvez voir l'arborescence des fichiers pour chaque couche en utilisant dive.
Si vous savez qu'il a été ajouté dans un calque particulier, vous le trouverez peut-être plus rapidement.
dive $IMAGE_NAME
L'article suivant sera utile pour savoir comment utiliser la plongée. https://qiita.com/t_o_d/items/625ad7a274ca34be3312
Il semble que les fichiers ne peuvent pas être extraits directement de l'image.
Par conséquent, vous pouvez copier les fichiers et les dossiers en démarrant le conteneur et en copiant avec docker cp
comme indiqué ci-dessous.
# IMAGE_Définissez le nom de l'image cible dans NAME et le chemin du fichier dans l'image Docker du fichier cible dans FILEPATH.
IMAGE_NAME=me/my_application:1.0.0
FILEPATH=/app/scripts/woker/
CONTAINER_ID=`docker create $IMAGE_NAME`
docker cp $CONTAINER_ID:$FILEPATH .
docker rm $CONTAINER_ID
Recommended Posts