从Mac OSX中的docker hub下载docker镜像后,它们在哪里?例如,如果我运行以下命令:
docker run hello-world
映像已下载且容器已运行,但是该映像在我的系统上位于何处?
注意:Docker映像存储在主机上的什么位置?这个问题主要有与linux机器有关的答案。对于Mac OS X,答案是考虑将boot2docker与docker安装同时使用,而对我而言并非如此。
从Mac OSX中的docker hub下载docker镜像后,它们在哪里?例如,如果我运行以下命令:
docker run hello-world
映像已下载且容器已运行,但是该映像在我的系统上位于何处?
注意:Docker映像存储在主机上的什么位置?这个问题主要有与linux机器有关的答案。对于Mac OS X,答案是考虑将boot2docker与docker安装同时使用,而对我而言并非如此。
dev
可容纳所有映像的VM(默认情况下称为)。在内部,至少在此刻,docker-machine仍在使用boot2docker VM……
VirtualBox VMs
文件夹中没有任何东西。但是,我认为这表示VM现在位于/Users/<username>/.docker/machine/machines/default/
目录中。我的印象是每个容器可能存在单独的文件。
Answers:
如果您使用的是Mac的Docker,则位置也会有所不同,即:
/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
Docker.qcow2
像containers
直接在磁盘上查看内容一样查看内容?
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
。参见gist.github.com/BretFisher/5e1a0c7bcca4c735e716abf62afad389
对于使用Docker工具箱(使用docker-machine)的用户,有关Mac OS X上boot2docker的答案无效。docker-machine VM被称为“默认”,它存在于/Users/<username>/.docker/machine/machines/default/
目录中。
注意:我还向这个问题添加了此答案:Docker映像存储在主机上的什么位置?但是我也在这里回答,以便为专门寻找Mac OS X和Docker新版本的人找到答案。
/Users/MyUserName/.docker/machine/machines/default/
要详细说明如何打开这些文件夹,以防您现在得到目录,因为它是安装在虚拟主机上而不是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/MyHostDir
Mac上的目录
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
就我而言,我想找到docker映像并将其复制到另一个位置。
使用docker save
于保存一个或多个图像的tar归档文件(流式传输到STDOUT默认)
链接:https://docs.docker.com/engine/reference/commandline/save/
就我而言(安装了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
此答案与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文件夹