Docker 镜像存储在主机的啥位置?

Posted

技术标签:

【中文标题】Docker 镜像存储在主机的啥位置?【英文标题】:Where are Docker images stored on the host machine?Docker 镜像存储在主机的什么位置? 【发布时间】:2013-10-14 14:47:26 【问题描述】:

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

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

【问题讨论】:

在这种情况下,最好在问题标题和/或问题陈述中说明操作系统的细节。为 linux 和 macOS (Mac OS X) 提供了两个很好的答案。 【参考方案1】:

/var/lib/docker 目录的内容因driver Docker is using for storage 而异。

默认情况下,这将是 aufs,但可以回退到 overlayoverlay2btrfsdevicemapperzfs,具体取决于您的内核支持。在大多数地方,这将是aufs,但RedHats went with devicemapper

您可以使用-s or --storage-driver= 选项将存储驱动程序手动设置为Docker daemon。

/var/lib/docker/driver-name 将包含图像内容的驱动程序特定存储。 /var/lib/docker/graph/<id> 现在仅在 jsonlayersize 文件中包含有关图像的元数据。

aufs的情况下:

/var/lib/docker/aufs/diff/<id> 有图片的文件内容。 /var/lib/docker/repositories-aufs 是一个包含本地图像信息的 JSON 文件。这可以通过命令docker images查看。

devicemapper的情况下:

/var/lib/docker/devicemapper/devicemapper/data 存储图片 /var/lib/docker/devicemapper/devicemapper/metadata 元数据 请注意,这些文件是精简配置的“稀疏”文件,因此并不像看起来那么大。

【讨论】:

我可以通过某种方式安装它来查看里面的内容吗? 如果您在存储驱动程序已经运行并且有一些正在运行的带有图像的容器之后设置存储驱动程序,它是否会在下次重新启动守护程序时迁移日期?如果没有,那么在这种情况下如何修改存储驱动程序? 对于 MacOS,see answer below 帮自己一个忙,不要“检查默认值”。使用docker info 并找到特定于您的设置的实际位置。 这似乎已经改变了。我正在使用 Docker for Mac 和 2 个 1.5 GB 的图像,/var/lib 没有目录 docker【参考方案2】:

当使用 Docker for Mac 应用程序时,容器似乎存储在位于以下位置的 VM 中:

~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

更新(感谢mmorin):

截至 2019 年 1 月 15 日,似乎只有这个文件:

~/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw

包含 Docker 磁盘以及其中的所有图像和容器。

【讨论】:

这是所有图像的位置(如ubuntunginx),还是所有容器的位置?最初的问题要求 images,而不是 containers... 如果您记住 Docker 仍在 VM 中运行,系统路径是相对于 VM 而不是来自 Mac Osx 系统。试试这个命令: docker run --rm -it -v /:/vm-root alpine:edge ls -l /vm-root nad 之后: docker run --rm -it -v /:/vm-root alpine: edge ls -l /vm-root/var/lib/docker 您可以从 WM 主机列出 docker 文件夹 这似乎已经改变了。我正在使用Docker for Mac 和两个1.5 GB 的图像,~/Library/Containers/Data/com.docker.docker/Data 没有目录com.docker.driver.amd64-linux,唯一的大文件在vms/0/Docker.raw 中,大小为3.6 GB。 使用 qcow2 还是 raw 取决于你是在 MacOS High Sierra 还是 APFS 以下:docs.docker.com/docker-for-mac/faqs/#disk-usage 检查 mac 大小:du -hd1 ~/Library/Containers/com.docker.docker/Data/【参考方案3】:

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

$ docker info

数据文件:/var/lib/docker/devicemapper/devicemapper/data

元数据文件:/var/lib/docker/devicemapper/devicemapper/metadata

【讨论】:

这适用于 RedHat 变体。他们chose not to go AUFS as it's not in the mainline kernel. 是的,不幸的是,这两行“(元)数据文件”并没有出现在每个 docker 中。这取决于使用的驱动程序 正确的答案不是“这是我机器上的位置”。正确的答案是“这是如何在您的机器上找到它。”这是一个正确的答案。我加入了一家公司,该公司拥有 11 个不同的 EBS 卷,其中充满了 docker 映像。这个答案让我知道哪个是当前“根目录”。 在 Mac OS X 上(至少在 Yosemite 上,即 EOL wrt Docker 上),docker info 非常有用,但是输出 Docker Root Dir: /var/lib/docker 并没有指明图像存储位置(参见 Mac-specific以上回答)。 我在 MacOS Catalina 10.15 上的 docker info 中看不到上述属性【参考方案4】:

这是以前的做法,现在已经改变了。自 2019 年起忽略此答案

在 Mac OS X 或 Windows 的特殊情况下,使用 boot2docker,您的 Docker 映像存储在由 boot2docker 管理的 VirtualBox VM 中。

此虚拟机将存储在 VirtualBox 映像的正常位置:

      OS X:~/VirtualBox VMs/boot2docker-vm

      Windows:%USERPROFILE%/VirtualBox 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 .

【讨论】:

在 Windows 10 上新安装 Docker 后,我可以确认第一次单击 Docker 快速启动终端快捷方式的结果会创建一个名为“default”的虚拟机 (VM)(经过几次不成功的启动 - 继续运行它直到它工作)。这个“默认”虚拟机可以位于 Windows 中:%USERPROFILE%\.docker\machine\machines(请注意路径中的句号) 在较新的版本中,boot2docker 现在是 docker-machine。见docs.docker.com/machine/migrate-to-machine 是否可以更改该位置? 答案对于 Windows 10 不再正确。相反,请参阅@tristan 的更新答案,其中引用了C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx %USERPROFILE%\.docker 对于 win7 设置仍然正确。【参考方案5】:

图片存储在/var/lib/docker/graph/<id>/layer

请注意,图像只是与父图像的差异。父 ID 与图像的元数据 /var/lib/docker/graph/<id>/json 一起存储。

当您docker run 图像时。 AUFS 会将所有层“合并”到一个可用的文件系统中。

【讨论】:

这个答案现在已经过时了,他们已经搬家了。 @Air 你能发布什么移动了吗? 没有图形文件夹了【参考方案6】:

在使用 Hyper-V 的新发布的“Docker for Windows”上,数据位于 Docker 虚拟硬盘中:

C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx

您还可以打开“Hyper-V 管理器”以访问 Docker / MobyLinuxVM。

【讨论】:

Windows 10 周年更新上的 Docker 为我将映像文件放入 C:\ProgramData\docker\windowsfilter。更多信息:***.com/a/39971954/188740 “Hyper-V 管理器”就是答案! 我没有 Hyper V,我正在使用 Docker Toolbox .. 知道虚拟磁盘在哪里【参考方案7】:

在 Ubuntu 上,您可以“玩”正在运行的图像

sudo baobab /var/lib/docker

其实图片存储在/var/lib/docker/aufs/diff

【讨论】:

确实不错。在 Mac 上 DaisyDisk 类似(轮显示),GrandPerspective 也很有用(矩形)。 看来这是找到它的唯一可靠方法。【参考方案8】:

对于使用 Docker 工具箱(使用 docker-machine)的人,有关 Mac OS X 上的 boot2docker 的答案无效。 docker-machine VM 被称为“默认”,它存在于/Users/<username>/.docker/machine/machines/default/ 目录中。

【讨论】:

我在该目录中找不到任何容器或图像文件夹。 在该目录中查找 disk.vmdk $docker images -a 产生大约 1 gig 的图像,而 ~/.docker 中的 disk.vmdk 大约是 20 gig。怎么会? 它在 Windows 中的存储位置? @Grav:虚拟机分配了 20 个 gig 以供将来使用,但仅使用 1 个 gig 用于图像。【参考方案9】:

如果您将 Docker 用于 MAC(不是 boot2docker),则位置为 /Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/

【讨论】:

是的,当我执行以下操作时:jasper@~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux $ ls -lh | grep Docker -rw-r--r--@ 1 jasper staff 6.3G May 25 19:20 Docker.qcow2 我找到了图像。但这不是容器。真的不要在这个数据目录中看到它们.. 但正如您之前所说的***.com/a/37642236/460885,容器位于此图像内。【参考方案10】:

Docker for Windows(原生 Windows)中,默认容器存储位于:

   > docker info
   ...
   Docker Root Dir: C:\ProgramData\Docker
   ...

【讨论】:

我运行了docker build 命令,但没有看到我认为是图像文件的文件。我看到一些文件夹和一些文本文件(例如 service.txt)。 docker build 创建的文件类型和文件扩展名是什么? 它不存在 @akashmaurya 你跑了吗docker info【参考方案11】:
sudo docker info | grep -e "Root Dir"

【讨论】:

【参考方案12】:

正如here 的回答,如果您使用的是 Mac,它位于

/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

【讨论】:

Docker.qcow2?我应该如何从中提取特定的 docker 图像?【参考方案13】:

扩展 Tristan 的答案,在带有 Hyper-V 的 Windows 中,您可以使用来自 matthuisman 的 steps 移动图像:

在 Windows 10 中,

    停止 docker 等 在任务栏搜索框中输入“Hyper-V Manager”并运行它。 在左侧窗格中选择您的 PC(我的称为 桌面-CBP**) 右键单击正确的虚拟机(我的是 称为 MobyLinuxVM) 选择“关闭”(如果它正在运行) 再次右键单击它并选择“移动” 按照提示操作

【讨论】:

这只会移动 Hyper-V 机器而不是图像,图像仍将存储在 VHD 位置所在的位置。 @olive_tree 我正在尝试查找由docker build 命令创建的图像。我在 Windows 10 计算机上。我查看 C:\Users\Public\Documents\Hyper-V\Virtual 硬盘,但我看到的只是 MobyLinuxVM.vhdx。实际图像存储在哪里?【参考方案14】:

使用docker info 命令显示系统范围的信息,位置可能会有所不同。

根据使用的存储驱动程序,可以显示附加信息,例如池名称、数据文件、元数据文件、使用的数据空间、总数据空间、使用的元数据空间和总元数据空间。

数据文件是存储图像的位置,而元数据文件是存储有关这些图像的元数据的位置。首次运行时,Docker 会从挂载/var/lib/docker 的卷上的可用空间中分配一定数量的数据空间和元数据空间。

这是 Ubuntu 上的示例(检查 Root Dir):

$ docker info
...
Server Version: 18.06.1-ce
Storage Driver: aufs
 Root Dir: /var/snap/docker/common/var-lib-docker/aufs
...
Docker Root Dir: /var/snap/docker/common/var-lib-docker
...

这里是 Travis CI 的示例(参见 Docker Root Dir):

$ docker info
Server Version: 17.09.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
...
Docker Root Dir: /var/lib/docker
...

您可以使用--format 参数将该信息提取到单个文件中,例如

$ docker info --format '.DriverStatus'
[[Root Dir /var/snap/docker/common/var-lib-docker/aufs] [Backing Filesystem extfs] [Dirs 265] [Dirperm1 Supported true]]

或:

$ docker info --format 'json .DriverStatus'
[["Root Dir","/var/snap/docker/common/var-lib-docker/aufs"],["Backing Filesystem","extfs"],["Dirs","265"],["Dirperm1 Supported","true"]]

【讨论】:

【参考方案15】:

使用docker inspect container_id 在 MergedDir 下找到文件夹

# example. 
"MergedDir": "/var/lib/docker/overlay2/f40cc2ea8912ec3b32deeef5a1542a132f6e918acb/merged 

【讨论】:

【参考方案16】:

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

/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

尝试使用此卷选项和 ls 命令运行 Alpine 映像,您可以列出 VM 主机:

docker run --rm -it -v /:/vm-root alpine:edge ls -l /vm-root

在此之后尝试:

docker run --rm -it -v /:/vm-root alpine:edge ls -l /vm-root/var/lib/docker

现在,您可以从 VM 主机列出 docker 文件夹

【讨论】:

谢谢!这是在带有 Hyper-v 的 Windows 10 上对我有用的唯一答案。我能够清理难以捉摸的 /var/lib/docker/overlay2 文件夹下的损坏文件。【参考方案17】:

对于“Docker Desktop”,单击 docker 系统托盘图标并单击“设置”。

在“高级”选项卡上,您可以看到磁盘映像位置。

【讨论】:

【参考方案18】:

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

【讨论】:

【参考方案19】:

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

运行命令docker info可以找到docker的根目录

Docker 目录将在这一行给出:“Docker Root Dir: /var/lib/docker

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

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

【讨论】:

【参考方案20】:

在 Docker for Windows 中,日志位于:%USERPROFILE%\AppData\Local\Docker

【讨论】:

【参考方案21】:

检查/var/lib中的docker文件夹

图像存储在以下位置:

/var/lib/docker/image/overlay2/imagedb/content

【讨论】:

这个只有 sha256 文件夹 我想你的意思很简单:/var/lib/docker/image/overlay2/。另请注意,这是因为您的 Docker 引擎使用 overlay2 作为存储驱动程序。【参考方案22】:

环境:Windows 10 Pro,docker desktop 2.0.3.0 edge

右键单击系统托盘中的泊坞窗图标,选择设置-高级:

磁盘映像位置(可通过浏览器编辑):

C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\DockerDesktop.vhdx

(它在那里 - 文档目录被隐藏)

【讨论】:

C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\DockerDesktop.vhdx 是docker build 命令创建的镜像吗?【参考方案23】:

环境

操作系统:fedora 29 x86_64 workstation

码头工人:

[user@localhost ~]$ docker --version
Docker version 19.03.5, build 633a0ea838

图片信息:"DockerVersion": "18.09.7"


图片默认存储在/var/lib/docker/overlay2


我的例子

显示图片:

[user@localhost ~]$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
neo4j               latest              8ed7463b8476        12 months ago       548MB
hello-world         latest              fce289e99eb9        2 years ago         1.84kB

图片大小为548M。

查看8ed7463b8476的图片信息。

[user@localhost ~]$ docker image inspect 8ed7463b8476
... ... ... ...

"DockerVersion": "18.09.7",

... ... ... ...

"GraphDriver": 
            "Data": 
                "LowerDir": "/var/lib/docker/overlay2
/66dc24704d7ea5f1a5dee0bf4a5297cb78bcbd0d4b36206b8cca62cd4de7f2b1/diff:
/var/lib/docker/overlay2
/5ab91cf721359d43d01038233d397fd9ed1c4b3857c0c7d9a2dd7f2ac5eccad0/diff:
/var/lib/docker/overlay2
/e82fdf7ee3e37db0a11d9ca309245ae852425d24d6f5d3313dcf604cdddb397b/diff:
/var/lib/docker/overlay2
/9394543085d467010d0468fffb388e5616a89e2cf16c1c2b7b31aee4e542ae69/diff:
/var/lib/docker/overlay2
/c7c7a16e3dbaeea1a3a3b0bbca39f34f08f6b8ab15d753e6e68f9851c80d95b4/diff:
/var/lib/docker/overlay2
/3b470afdf8939b45159f3171f0bef2a27085b4b980e09f0c666fbdc58b944d97/diff:
/var/lib/docker/overlay2
/463ba63f79eb6b2f5466e7b71041bc346a8e9c4ebddd34d23422c719824a2340/diff",

... ... ... ...

让我们看看这些文件夹的大小。

[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/66dc24704d7ea5f1a5dee0bf4a5297cb78bcbd0d4b36206b8cca62cd4de7f2b1
141M    /var/lib/docker/overlay2/66dc24704d7ea5f1a5dee0bf4a5297cb78bcbd0d4b36206b8cca62cd4de7f2b1
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/5ab91cf721359d43d01038233d397fd9ed1c4b3857c0c7d9a2dd7f2ac5eccad0/
28K /var/lib/docker/overlay2/5ab91cf721359d43d01038233d397fd9ed1c4b3857c0c7d9a2dd7f2ac5eccad0/
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/e82fdf7ee3e37db0a11d9ca309245ae852425d24d6f5d3313dcf604cdddb397b/
100K    /var/lib/docker/overlay2/e82fdf7ee3e37db0a11d9ca309245ae852425d24d6f5d3313dcf604cdddb397b/
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/9394543085d467010d0468fffb388e5616a89e2cf16c1c2b7b31aee4e542ae69/
310M    /var/lib/docker/overlay2/9394543085d467010d0468fffb388e5616a89e2cf16c1c2b7b31aee4e542ae69/
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/c7c7a16e3dbaeea1a3a3b0bbca39f34f08f6b8ab15d753e6e68f9851c80d95b4/
36K /var/lib/docker/overlay2/c7c7a16e3dbaeea1a3a3b0bbca39f34f08f6b8ab15d753e6e68f9851c80d95b4/
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/3b470afdf8939b45159f3171f0bef2a27085b4b980e09f0c666fbdc58b944d97/
9.5M    /var/lib/docker/overlay2/3b470afdf8939b45159f3171f0bef2a27085b4b980e09f0c666fbdc58b944d97/
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/463ba63f79eb6b2f5466e7b71041bc346a8e9c4ebddd34d23422c719824a2340/
76M /var/lib/docker/overlay2/463ba63f79eb6b2f5466e7b71041bc346a8e9c4ebddd34d23422c719824a2340/

我们可以看到接近548M的大小。

我们还可以将图像保存到输出文件。

[user@localhost ~]$ docker save -o neo4j.image.tar 8ed7463b8476
[user@localhost ~]$ du -sh neo4j.image.tar 
528M    neo4j.image.tar

我们可以提取包文件并检查包中文件的大小。

[user@localhost neo4j.image]$ du -sh *
16K 2f0dd5fb60a940719a3e781133611cc64c2acded03bd47e04b0997fd0c1dae50
8.7M    73819037a38eabeb7c622533e4058c84f5ff106475a1aba78a278f8b36c172f7
309M    8d31d715b324a2ae3ccb1577e981d492f40e34db6371f0858da925ef02b5762e
12K 8ed7463b84760f09b1b86a732ee6f295baaadffe72ce4fdb7ad306fe5e096bbb.json
36K 966e726ff1d9be9dca68014cda6f1ecf974365c553b82ea3834fff5d73ea593e
70M a32776b9621e916e8714389b1037bf47253a2d3d1c806ad515623d2150c92485
60K d82868a318b95466f213136f81cd7258518744da72f46ca51b04b35f2351f46a
16K e62169d79fab44bebb0a455b01af5f636bace7673a1d38fc092daad77d51cd0e
141M    fe8014622f7933e178b9005deffda3eb4828703eb7eca93b5485232930e3916b
4.0K    manifest.json

我们还可以将文件夹/var/lib/docker/overlay2/ 存档,以便将包的大小与图像文件进行比较。大小也接近图像大小。

更多有用的阅读材料:

docker image - merged/diff/work/LowerDir components of GraphDriver,

Where are Docker Images Stored? Docker Container Paths Explained,

Overlay Filesystem

【讨论】:

【参考方案24】:

在 Fedora 上,Docker 使用LVM 进行存储(如果可用)。在我的系统上docker info 显示:

Storage Driver: devicemapper
 Pool Name: vg01-docker--pool
 Pool Blocksize: 524.3 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file:
 Metadata file:
 Data Space Used: 9.622 GB
 ...

在这种情况下,要增加存储空间,您将不得不使用 LVM 命令行工具或兼容的分区管理器,例如 blivet

【讨论】:

【参考方案25】:

在 Windows 2016 中,docker (DockerMsftProvider) 使用 docker root 下的文件夹“windowsfilter”

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

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

【讨论】:

【参考方案26】:

在 Debian Unstable/Sid 上,

docker info 查找系统范围的信息。

图像存储在/var/lib/docker/image/overlay2/imagedb/content

容器存储在/var/lib/docker/containers

docker版本18.06.0-ce,API版本1.38

【讨论】:

【参考方案27】:

我无法使用上述答案在 Docker 版本 18.09 上解决问题并再次尝试。

对我来说唯一实际的解决方案是使用这个docker-compose.yml 配置:

version: '3.7'
...
  services:
    demo-service:
      volumes:
        - data-volume:/var/tmp/container-volume

volumes:
  data-volume:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /tmp/host-volume

在使用docker-compose up 启动后,我终于将来自macos 的/tmp/host-volume 共享为容器内的可写卷:

> docker exec -it 1234 /bin/bash
bash-4.4$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
...
osxfs                488347692 464780044  21836472  96% /var/tmp/container-volume

希望这对其他人也有帮助。

【讨论】:

【参考方案28】:

图像存储在/var/lib/docker 中,然后在适用的storage driver 目录下。

执行docker info命令可以确定正在使用的存储驱动。

【讨论】:

【参考方案29】:

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

在 POSIX shell 中,启用 PCRE grep,尝试:

DOCKER_ROOT_DIR="$(docker info 2>&1 | grep -oP '(?<=^Docker Root Dir: ).*')"

在 PowerShell 中:

$DOCKER_ROOT_DIR="$(docker info 2>&1 | foreach if($_ -match "Docker Root Dir")$_.TrimStart("Docker Root Dir: "))"

注意,在 Windows 10 上(截至10.0.18999.1),在默认配置下,它会返回:

C:\ProgramData\Docker 在“Windows 容器”模式下 /var/lib/docker,处于“Linux 容器”模式

【讨论】:

在 CentOS 上我不得不使用DOCKER_ROOT_DIR="$(sudo docker info 2>&1 | grep -oP '(?<=Data loop file: ).*')",但最终它是一个文件,而不是一个目录 确定不是目录吗?对我来说,sudo ls "$(docker info 2>&1 | grep -oP '(?<=^Docker Root Dir: ).*')" 列出了这个目录的内容。【参考方案30】:

在 2021 年的 macOS 上,唯一可能的解决方案是使用 bash 访问 Docker VM,然后查看它的本地结构:

    docker run -ti --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh cd /var/lib/docker/

不客气!

【讨论】:

以上是关于Docker 镜像存储在主机的啥位置?的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7修改Docker容器和镜像默认存储位置

Linux修改docker镜像和容器的默认存储位置

CentOS7修改Docker容器和镜像默认存储位置

Linux修改docker镜像和容器数据存储位置

Docker镜像管理

Docker配置本地镜像与容器的存储位置