Ich möchte eine Datei aus einem Docker-Image extrahieren, ohne das Image ausführen zu müssen.
Das docker save
Option ist derzeit keine praktikable Option für mich, da sie eine zu große Datei speichert, nur um eine bestimmte Datei zu entpacken.
Akzeptierte Antwort:
Mit den folgenden Befehlen können Sie Dateien aus einem Bild extrahieren:
docker create $image # returns container ID
docker cp $container_id:$source_path $destination_path
docker rm $container_id
Gemäß dem docker create
Dokumentation, dies führt den Container nicht aus:
Das docker create
Der Befehl erstellt eine beschreibbare Containerschicht über dem angegebenen Image und bereitet es für die Ausführung des angegebenen Befehls vor. Die Container-ID wird dann auf STDOUT
ausgegeben . Dies ähnelt docker run -d
außer dass der Container nie gestartet wird. Sie können dann den docker start <container_id>
verwenden Befehl, um den Container jederzeit zu starten.
Als Referenz (meine vorherige Antwort) ist eine weniger effiziente Methode zum Extrahieren einer Datei aus einem Bild die folgende:
docker run some_image cat $file_path > $output_path