Extraire des fichiers de Docker Image

emballer

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 .

Contexte

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à.

Trouvez le chemin du fichier cible

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.

Rechercher à l'aide du shell

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.

Recherchez les différences entre les couches avec la plongé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

Copiez le fichier cible

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

Extraire des fichiers de Docker Image
[Docker] Copie des fichiers du conteneur Docker vers l'hôte
En savoir plus sur l'image du docker et le FROM du Dockerfile
Copier les fichiers du conteneur Docker vers l'hôte (docker cp)
Supprimer l'image Docker inutilisée
Comment déployer à partir d'une image Docker locale vers Heroku
Utilisation de Docker depuis Java Gradle
Installez openjdk8 sur l'image Docker (Debian)
Migrer l'image Docker vers un autre serveur
Déployer l'image Docker de Flask sur Heroku
Extraire les informations requises de pom.xml
2. Créez une image Docker et enregistrez le registre
Redémarrez Apache avec l'image php-apache de Docker
Mettre à jour MySQL de 5.7 à 8.0 avec Docker
[Splunk] Création de Splunk Enterprise (à l'aide de l'image Docker)