我设法在/var/lib/docker/containers目录下找到了容器,但我找不到图像。
/var/lib/docker下的目录和文件是什么?
我设法在/var/lib/docker/containers目录下找到了容器,但我找不到图像。
/var/lib/docker下的目录和文件是什么?
当前回答
这是过去的做法,现在已经改变了。从2019年开始,请忽略这个答案
在Mac OS X或Windows的特殊情况下,使用boot2docker,您的Docker映像存储在由boot2docker管理的VirtualBox虚拟机中。
该虚拟机将存储在VirtualBox镜像的正常位置:
OS X: ~/VirtualBox VMs/boot2docker-vm
窗口:%用户框%/虚拟盒子VMs/boot2docker-vm
你可以通过运行(警告:这将破坏你迄今为止构建和下载的所有图像)来重置它:
boot2docker down
boot2docker destroy
boot2docker init
boot2docker up
如果你在没有——rm选项的情况下构建/调试构建时保存了大量的中间映像,这一点特别有用,我在这里引用它们作为参考: 使用:
docker build -t webapp --rm=true --force-rm=true .
而不是:
docker build -t webapp .
其他回答
我在Mac OSX上使用Docker的boot2docker,因此图像存储在/Users/<USERNAME>/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk。
图像存储在/var/lib/docker中,然后在适用的存储驱动目录下。
使用的存储驱动可以通过执行docker info命令来确定。
/var/lib/docker目录的内容取决于Docker用于存储的驱动程序。
默认情况下,这将是aufs,但可以回落到overlay, overlay2, btrfs, devicemapper或zfs,这取决于你的内核支持。在大多数地方,这将是aufs,但红帽使用设备映射器。
您可以使用-s或——storage-driver=选项手动将存储驱动程序设置为Docker守护进程。
/var/lib/docker/{driver-name}将包含用于映像内容的驱动程序特定存储。 >现在只包含关于图像的元数据,在json和layersize文件中。
对于aufs:
/var/lib/docker/aufs/diff/<id>包含镜像的文件内容。 /var/lib/docker/repositories-aufs是一个包含本地映像信息的JSON文件。这可以通过命令docker图像来查看。
在设备映射器的情况下:
/var/lib/docker/devicemapper/devicemapper/data存放映像 /var/lib/docker/devicemapper/devicemapper/metadata元数据 请注意,这些文件是精简的“稀疏”文件,因此并不像它们看起来那么大。
如果有人需要它来编写脚本,这里有一个简单的解决方案。
在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容器”模式
就像这里回答的,如果你在Mac上,它位于
/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2