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

/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容器”模式

其他回答

在Windows 2016中,DockerMsftProvider使用docker根目录下的文件夹“windowsfilter”

>docker info
...
Storage Driver: windowsfilter
...
Docker Root Dir: C:\ProgramData\docker
...

它使用docker root下的“tmp”文件夹下载文件,并将下载的文件解压缩到“windowsfilter”文件夹后删除文件。

如果你在MAC上使用Docker(不是boot2docker),那么位置是/Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/

如果你记住Docker仍然在虚拟机中运行,系统路径是相对于虚拟机的,而不是来自Mac Osx系统。 正如它所说的,所有内容都包含在VM文件中:

/ \用户MyUserName / Library / Containers / com .道克道克/数据/ com .道克。司机qcow2 amd64-linux -道克。

尝试使用此volume选项和ls命令运行Alpine image,您可以列出虚拟机主机:

Docker运行——rm -it -v /:/vm-root alpine:edge ls -l /vm-root

然后试试:

Docker运行——rm -it -v /:/vm-root alpine:edge ls -l / vm-root / var / lib /码头工人

现在,您可以列出来自VM主机的docker文件夹

我只能对Ubuntu用户回答这个问题:

使用docker info命令可以找到docker的根目录

Docker目录将在这一行中给出:"Docker根目录:/var/lib/docker"

关于docker镜像,它们存储在docker目录中: /var/lib/docker/aufs/diff/

记住这些东西在docker的所有版本中都是不一样的。目前,我使用的是1.12.3。

如果有人需要它来编写脚本,这里有一个简单的解决方案。

在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容器”模式