我设法在/var/lib/docker/containers目录下找到了容器,但我找不到图像。

/var/lib/docker下的目录和文件是什么?


当前回答

在Docker for Windows中,日志在这里:%USERPROFILE%\AppData\Local\Docker

其他回答

/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元数据 请注意,这些文件是精简的“稀疏”文件,因此并不像它们看起来那么大。

这是过去的做法,现在已经改变了。从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上使用Docker(不是boot2docker),那么位置是/Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/

实际上,Docker映像存储在两个文件中,如下命令所示

$ docker info

数据文件:/var/lib/docker/devicemapper/devicemapper/ Data 元数据文件:/var/lib/docker/devicemapper/devicemapper/ Metadata

我在Mac OSX上使用Docker的boot2docker,因此图像存储在/Users/<USERNAME>/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk。