我设法在/var/lib/docker/containers目录下找到了容器,但我找不到图像。
/var/lib/docker下的目录和文件是什么?
我设法在/var/lib/docker/containers目录下找到了容器,但我找不到图像。
/var/lib/docker下的目录和文件是什么?
当前回答
就像这里回答的,如果你在Mac上,它位于
/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
其他回答
在Docker for Windows(本地Windows)中,默认的容器存储在:
> docker info
...
Docker Root Dir: C:\ProgramData\Docker
...
当使用Docker for Mac应用程序时,容器似乎存储在位于以下位置的虚拟机中:
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
更新(mmorin提供):
截至2019年1月15日,似乎只有这个文件:
~/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw
它包含了Docker磁盘以及其中的所有映像和容器。
我在Mac OSX上使用Docker的boot2docker,因此图像存储在/Users/<USERNAME>/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk。
在2021年的macOS上,唯一可能的解决方案是使用bash访问Docker VM,然后查看它的本地结构:
Docker运行-ti——privilege——pid=host debian nsenter -t 1 -m -u -n -i sh cd /var/lib/docker/
欢迎你!
如果有人需要它来编写脚本,这里有一个简单的解决方案。
在POSIX shell中,启用了PCRE的grep,尝试:
DOCKER_ROOT_DIR="$(docker info 2>&1 | grep -oP '(?<=^Docker根目录:).*')"
PowerShell:
$DOCKER_ROOT_DIR="$(docker信息2>&1 | foreach {if($_ -match " docker根目录"){$_。TrimStart("Docker根目录:")}})"
注意,在Windows 10(截至10.0.18999.1)上,在默认配置下,它返回:
C:\ProgramData\Docker在“Windows容器”模式 /var/lib/docker,以“Linux容器”模式