我设法在/var/lib/docker/containers目录下找到了容器,但我找不到图像。
/var/lib/docker下的目录和文件是什么?
我设法在/var/lib/docker/containers目录下找到了容器,但我找不到图像。
/var/lib/docker下的目录和文件是什么?
当前回答
图像存储在/var/lib/docker/graph/<id>/layer。
注意,图像只是与父图像不同。父ID存储在映像的元数据/var/lib/docker/graph/< ID >/json中。
当你docker运行一个映像。AUFS将“合并”所有层到一个可用的文件系统。
其他回答
sudo docker info | grep -e "Root Dir"
/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元数据 请注意,这些文件是精简的“稀疏”文件,因此并不像它们看起来那么大。
在Docker for Windows中,日志在这里:%USERPROFILE%\AppData\Local\Docker
扩展Tristan的答案,在Windows的Hyper-V中,你可以从matthuisman中通过以下步骤移动图像:
在Windows 10中, 停止码头等 在任务栏搜索框中输入“Hyper-V管理器”并运行它。 在左侧窗格中选择您的PC(我的称为 DESKTOP-CBP * *) 右键单击正确的虚拟机(我的是 称为MobyLinuxVM) 选择“关闭”(如果它正在运行) 再次右键点击,选择移动 按照提示操作
这是过去的做法,现在已经改变了。从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 .