Speicherort der Docker-Images, die von Docker (1.9.1) unter Mac OS X heruntergeladen wurden

71

Wo befinden sich die Docker-Images, nachdem sie vom Docker-Hub in Mac OS X heruntergeladen wurden? Zum Beispiel, wenn ich einen Befehl wie folgt ausführe:

docker run hello-world

Das Image wird heruntergeladen und der Container wird ausgeführt. Wo befindet sich das Image auf meinem System?

Hinweis: Wo werden Docker-Images auf dem Host-Computer gespeichert? Diese Frage enthält hauptsächlich Antworten auf Linux-Maschinen. Die Antworten für Mac OS X gehen davon aus, dass boot2docker neben der Docker-Installation verwendet wird, was bei mir nicht der Fall ist.

mbbce
quelle
2
Nein, das ist es nicht. Diese Frage gibt den Speicherort auf einem Linux-Computer an. Die Antworten zu Mac OS X beziehen sich auf die Verwendung von boot2docker neben der Docker-Installation.
mbbce
1
Wie benutzt man Docker dann auf dem Mac? Sie müssen entweder boot2docker oder Docker-Maschine verwenden ...
nwinkler
1
Ich benutze die Docker-Toolbox für Mac OS X, die Docker-Maschine hat, wenn ich mich nicht irre
mbbce
Ich denke, die Antwort von der verknüpften Frage gilt dann. Docker-Maschine verwendet eine VM ( devstandardmäßig aufgerufen ), die alle Images enthält. Intern verwendet Docker-Maschine immer noch die boot2docker VM, zumindest im Moment ...
nwinkler
In meinem VirtualBox VMsOrdner befindet sich nichts . Ich denke jedoch, dass diese besagte VM jetzt im /Users/<username>/.docker/machine/machines/default/Verzeichnis ist. Ich hatte den Eindruck, dass es für jeden Container separate Dateien geben könnte.
mbbce

Antworten:

89

Und wenn Sie Docker für Mac verwenden, ist der Speicherort wieder anders, nämlich:

/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
Mike
quelle
28
Gibt es eine Möglichkeit, den Inhalt von Docker.qcow2Like View den Inhalt der containersdirekt auf der Festplatte anzuzeigen ?
Jas
1
Sie müssen Ordner von der VM auflisten, versuchen Sie einfach diesen Befehl: docker run --rm -it -v /: / vm-root alpin: edge ls -l / vm-root / var / lib /
docker
1
Sie können auch den Bildschirm verwenden : screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty. Siehe gist.github.com/BretFisher/5e1a0c7bcca4c735e716abf62afad389
Etienne Neveu
62

Der Speicherort des Disk-Images kann auch angezeigt werden (wie in den Dokumenten erwähnt ), indem Sie im Docker-Symbolleistensymbol Einstellungen (> Erweitert) auswählen (funktioniert in Docker-CE v17):

Docker-> Einstellungen-> Erweitert

Update: Wie von @udondan Docker erwähnt, gibt es in den Einstellungen jetzt eine separate Registerkarte "Datenträger", auf der der Speicherort des Datenträgerabbilds angezeigt wird:

Docker-> Einstellungen-> Festplatte

Pierz
quelle
Ein Beweisbild ist besser als tausend Worte! Vielen Dank!
Siu Ching Pong -Asuka Kenji-
2
Es befindet sich jetzt in einer eigenen Registerkarte "Disk".
Udondan
1
Wie extrahiere ich das Bild aus der qcow2-Datei, wenn ich mehrere Bilder habe?
Sid
28

Für jemanden, der die Docker-Toolbox verwendet (die Docker-Maschine verwendet), sind die Antworten zu boot2docker unter Mac OS X ungültig. Die Docker-Maschinen-VM heißt "Standard" und ist im /Users/<username>/.docker/machine/machines/default/Verzeichnis vorhanden.

Hinweis: Ich habe diese Antwort auch zu dieser Frage hinzugefügt: Wo werden Docker-Images auf dem Host-Computer gespeichert? Aber ich antworte auch hier, damit es einfacher ist, die Antwort für jemanden zu finden, der speziell nach Mac OS X und einer neuen Version von Docker sucht.

mbbce
quelle
2
Mit allen Standardeinstellungen habe ich gerade Docker Toolbox 1.10.2 unter OS X El Capitan (10.11.3) installiert und festgestellt, dass sich die Docker-Maschine an einer etwas anderen Position befindet:/Users/MyUserName/.docker/machine/machines/default/
fsteff
Vielen Dank, dass Sie dies hier hinzugefügt haben. Nach dem Wechsel zu Docker für Mac hat Docker Toolbox die alten Daten nie bereinigt, sodass sich das 34G-Image immer noch in diesem Ordner befand.
Jwadsack
8

Um zu erläutern, wie diese Ordner geöffnet werden, falls Sie jetzt ein Verzeichnis erhalten, da es sich um ein auf einem virtuellen Host gemountetes Verzeichnis handelt, das nicht Ihr reguläres Mac-Volume ist

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty 

ls -ltrh /var/lib/docker/volumes

Antworte von hier

Wenn Sie die Lautstärke von Ihrem Mac aus steuern möchten, können Sie sie beim Erstellen des Containers zuordnen

docker run -it --name voltest2 -v /path/to_mac/directory/MyHostDir:/mydata centos:latest /bin/bash

Dadurch wird ein Verzeichnis mydatain Ihrem Container einem Verzeichnis /path/to_mac/directory/MyHostDirauf Ihrem Mac zugeordnet

Maged Makled
quelle
6

Die Docker-Images werden mit Docker Desktop an einem anderen Ort auf dem Mac gespeichert als auf anderen Linux-Systemen.

Auszug aus der Docker-Dokumentation (abgerufen am 25. März 2020 von https://docs.docker.com/docker-for-mac/space/ )

Docker Desktop speichert Linux-Container und -Bilder in einer einzigen großen "Disk-Image" -Datei im Mac-Dateisystem. Dies unterscheidet sich von Docker unter Linux, das normalerweise Container und Images im Verzeichnis / var / lib / docker speichert.

Auf meinem Mac mit MacOS 10.14.6 Mojave unter Docker Version 19.03.8 finden Sie diese einzelne große Datei unter:

~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw
CyclingDave
quelle
3

In meinem Fall möchte ich die Docker-Bilder suchen und an einen anderen Ort kopieren.

Verwenden Sie diese Optiondocker save , um ein oder mehrere Bilder in einem Teerarchiv zu speichern (standardmäßig auf STDOUT gestreamt).

Link: https://docs.docker.com/engine/reference/commandline/save/

zhe
quelle
1

In meinem Fall (Mavericks / Docker Brew installiert / Image Name: Standard) befindet sich unter

/Users/<Username>/.docker/machine/machines/.

(Sie müssen Terminal und nicht Finder verwenden, um es zu sehen.)

   ls -lah /Users/Mitsos/.docker/machine/machines/
    total 0
    drwx------   3 Mitsos  staff   102B Dec  8 19:03 .
    drwxr-xr-x   5 Mitsos  staff   170B Sep 22 13:52 ..
    drwx------  13 Mitsos  staff   442B Dec  8 19:04 default
DimiDak
quelle
1

Diese Antwort betrifft nicht die "boot2Docker" -Version für MAC. Hier habe ich die Version 17.12.0-ce-mac55. Sie müssen berücksichtigen, dass Docker noch in einer VM ausgeführt wird. Die Systempfade beziehen sich auf die VM und nicht auf das Mac Osx-System. Wie es heißt, ist alles in einer VM-Datei enthalten:

/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

Versuchen Sie, Alpine Image mit dieser Volume-Option und dem Befehl ls auszuführen, mit dem Sie den VM-Host auflisten können:

Docker-Lauf --rm -it -v /: / vm-root alpine: Rand ls -l / vm-root

Danach versuchen Sie einfach:

docker run --rm -it -v /: / vm-root alpine: edge ls -l / vm-root / var / lib / docker

Jetzt können Sie den Docker-Ordner vom WM-Host aus auflisten

user1842947
quelle
1

Schauen Sie sich in Docker Desktop Version 2.2.0.4 den folgenden Screenshot an.

Geben Sie hier die Bildbeschreibung ein

f01
quelle
1

Auf meinem Mac mit MacOS 10.15.4 Catalina unter Docker 19.03.8 / Docker Desktop 2.3.0.2 (45183) befindet sich Docker.raw hier:

~/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw 
Sylvain
quelle
0

Es gibt einige Informationen zu diesem Thema hier . Sie können den Speicherort überprüfen, indem Sie ausführen

docker info| grep "Docker Root Dir"
nw79
quelle