Docker(1.9.1)在Mac OS X上下载的Docker映像的位置


71

从Mac OSX中的docker hub下载docker镜像后,它们在哪里?例如,如果我运行以下命令:

docker run hello-world

映像已下载且容器已运行,但是该映像在我的系统上位于何处?

注意:Docker映像存储在主机上的什么位置?这个问题主要有与linux机器有关的答案。对于Mac OS X,答案是考虑将boot2docker与docker安装同时使用,而对我而言并非如此。


2
不,不是。该问题指定了Linux机器中的位置。与Mac OS X相关的答案正在考虑将boot2docker与docker安装一起使用。
mbbce

1
那么,您如何在Mac上使用Docker?您必须使用boot2docker或docker-machine ...
nwinkler 2015年

1
我正在使用Mac OS X的
docker

我想链接的问题的答案适用。docker-machine正在使用dev可容纳所有映像的VM(默认情况下称为)。在内部,至少在此刻,docker-machine仍在使用boot2docker VM……
nwinkler 2015年

我的VirtualBox VMs文件夹中没有任何东西。但是,我认为这表示VM现在位于/Users/<username>/.docker/machine/machines/default/目录中。我的印象是每个容器可能存在单独的文件。
mbbce 2015年

Answers:


89

如果您使用的是Mac的Docker,则位置也会有所不同,即:

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

28
有没有办法Docker.qcow2containers直接在磁盘上查看内容一样查看内容?
Jas

1
您必须从VM列出文件夹,只需尝试以下命令:docker run --rm -it -v /:/ vm-root alpine:edge ls -l / vm-root / var / lib /
docker

1
您还可以使用屏幕:screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty。参见gist.github.com/BretFisher/5e1a0c7bcca4c735e716abf62afad389
Etienne Neveu

62

磁盘图像位置也可以看出(如提到的文档)从泊坞工具栏图标,选择首选项- >高级菜单(在泊坞-CE V17作品):

Docker->首选项->高级

更新:正如@udondan所述,Docker现在在“首选项”中有一个单独的“磁盘”选项卡,其中显示了磁盘映像位置:

Docker->首选项->磁盘


一张证明的图片胜过一千个单词!谢谢!
小清庞-明日香贤治

2
现在,它位于其自己的选项卡“磁盘”中。
udondan

1
如果我有多张图像,如何从qcow2文件中提取图像?
希德

28

对于使用Docker工具箱(使用docker-machine)的用户,有关Mac OS X上boot2docker的答案无效。docker-machine VM被称为“默认”,它存在于/Users/<username>/.docker/machine/machines/default/目录中。

注意:我还向这个问题添加了此答案:Docker映像存储在主机上的什么位置?但是我也在这里回答,以便为专门寻找Mac OS X和Docker新版本的人找到答案。


2
使用所有默认设置,我刚刚在OS X El Capitan(10.11.3)上安装了Docker Toolbox 1.10.2,发现docker-machine的位置略有不同:/Users/MyUserName/.docker/machine/machines/default/
fsteff

感谢您在此处添加。在迁移到Mac的Docker之后,Docker Toolbox从未清理过旧数据,因此34G映像仍位于该文件夹中。
jwadsa​​ck '16

8

要详细说明如何打开这些文件夹,以防您现在得到目录,因为它是安装在虚拟主机上而不是Mac常规卷上的目录

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

ls -ltrh /var/lib/docker/volumes

来自的答案 这里

如果要从Mac控制音量,则可以在创建容器时将其映射

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

它将mydata容器上的目录映射到/path/to_mac/directory/MyHostDirMac上的目录


6

Docker映像在Docker Desktop上存储在Mac上的其他位置,与它们在其他Linux系统上的存储位置不同。

Docker文档的摘录(2020年3月25日从https://docs.docker.com/docker-for-mac/space/检索)

Docker Desktop将Linux容器和映像存储在Mac文件系统中的单个大型“磁盘映像”文件中。这与Linux上的Docker不同,后者通常将容器和映像存储在/ var / lib / docker目录中。

在装有MacOS 10.14.6 Mojave的Mac上,运行Docker版本19.03.8,可以在以下位置找到单个大文件:

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


1

就我而言(安装了Mavericks / docker brew /映像名称:默认)位于

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

(您必须使用终端而不是查找器来查看它。)

   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

1

此答案与MAC的“ boot2Docker”版本无关。在这里,我有版本17.12.0-ce-mac55,请记住,Docker仍在VM中运行,系统路径是相对于VM的,而不是来自Mac Osx系统的。一切都包含在VM文件中:

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

尝试使用此卷选项和可以列出VM主机的ls命令运行Alpine映像:

docker运行--rm -it -v /:/ vm-root alpine:edge ls -l / vm-root

之后,只需尝试:

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

现在,您可以从WM主机列出docker文件夹


1

在Docker Desktop 2.2.0.4版本中,请查看以下屏幕截图。

在此处输入图片说明


1

在运行Mac OS 10.15.4 Catalina的Mac上,运行Docker 19.03.8 / Docker Desktop 2.3.0.2(45183)的Docker.raw位于:

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

0

有一些这方面的信息在这里。您可以通过运行来检查位置

docker info| grep "Docker Root Dir"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.