J'aimerais extraire un fichier d'une image Docker sans avoir à exécuter l'image.
La sauvegarde docker save
l'option n'est pas actuellement une option viable pour moi car elle enregistre un fichier trop volumineux juste pour décompresser un fichier spécifique.
Réponse acceptée :
Vous pouvez extraire des fichiers d'une image avec les commandes suivantes :
docker create $image # returns container ID
docker cp $container_id:$source_path $destination_path
docker rm $container_id
Selon le docker create
documentation, cela n'exécute pas le conteneur :
Le
docker create
La commande crée une couche de conteneur accessible en écriture sur l'image spécifiée et la prépare pour l'exécution de la commande spécifiée. L'ID du conteneur est ensuite imprimé surSTDOUT
. Ceci est similaire àdocker run -d
sauf que le conteneur n'est jamais démarré. Vous pouvez ensuite utiliser ledocker start <container_id>
commande pour démarrer le conteneur à tout moment.
Pour référence (ma réponse précédente), une manière moins efficace d'extraire un fichier d'une image est la suivante :
docker run some_image cat $file_path > $output_path