GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

Datei aus Docker-Image extrahieren?

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

Docker
  1. So mounten oder symbolisieren Sie eine einzelne Datei in einem Docker-Container

  2. So trennen Sie sich von einem Docker-Container, ohne ihn zu stoppen

  3. So erstellen Sie ein Docker-Image aus einem Container und einer Docker-Datei

  4. Welches Betriebssystem läuft in meinem Docker-Container?

  5. Keine Netzwerkverbindung zum/vom Docker CE-Container unter CentOS 8

Docker-Image vs. Container:Die Hauptunterschiede

So aktualisieren Sie das Docker-Image und den Container auf die neueste Version

So installieren Sie das AlmaLinux 8-Image im Docker-Container

So prüfen Sie den Inhalt eines Docker-Images, ohne einen Container zu starten

So erstellen Sie ein Docker-Image aus einem laufenden Container

So verwenden Sie Docker Commit zum Ändern von Container-Images