我设法在/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 .
其他回答
扩展Tristan的答案,在Windows的Hyper-V中,你可以从matthuisman中通过以下步骤移动图像:
在Windows 10中, 停止码头等 在任务栏搜索框中输入“Hyper-V管理器”并运行它。 在左侧窗格中选择您的PC(我的称为 DESKTOP-CBP * *) 右键单击正确的虚拟机(我的是 称为MobyLinuxVM) 选择“关闭”(如果它正在运行) 再次右键点击,选择移动 按照提示操作
图像存储在/var/lib/docker中,然后在适用的存储驱动目录下。
使用的存储驱动可以通过执行docker info命令来确定。
在Debian不稳定/Sid上,
Docker信息来查找系统范围的信息。
图像存储在/var/lib/docker/image/overlay2/imagedb/content和
容器存储在/var/lib/docker/containers
docker版本18.06.0-ce, API版本1.38
使用docker inspect container_id 在MergedDir下找到文件夹
# example.
"MergedDir": "/var/lib/docker/overlay2/f40cc2ea8912ec3b32deeef5a1542a132f6e918acb/merged
如果有人需要它来编写脚本,这里有一个简单的解决方案。
在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容器”模式