我设法在/var/lib/docker/containers目录下找到了容器,但我找不到图像。
/var/lib/docker下的目录和文件是什么?
我设法在/var/lib/docker/containers目录下找到了容器,但我找不到图像。
/var/lib/docker下的目录和文件是什么?
当前回答
使用docker inspect container_id 在MergedDir下找到文件夹
# example.
"MergedDir": "/var/lib/docker/overlay2/f40cc2ea8912ec3b32deeef5a1542a132f6e918acb/merged
其他回答
我在macos上使用上述答案无法解决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后,我终于将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
希望这也能帮助到其他人。
使用docker info命令显示系统范围的信息,位置可能不同。
根据使用的存储驱动程序,还可以显示其他信息,如池名称、数据文件、元数据文件、已使用的数据空间、总数据空间、已使用的元数据空间和总元数据空间。 数据文件是存储图像的地方,元数据文件是存储关于这些图像的元数据的地方。第一次运行时,Docker从挂载/var/lib/docker的卷的可用空间中分配一定数量的数据空间和元数据空间。
下面是Ubuntu的例子(检查根目录):
$ 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根目录):
$ 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]]
or:
$ docker info --format '{{json .DriverStatus}}'
[["Root Dir","/var/snap/docker/common/var-lib-docker/aufs"],["Backing Filesystem","extfs"],["Dirs","265"],["Dirperm1 Supported","true"]]
在最新发布的使用Hyper-V的“Docker for Windows”中,数据位于Docker虚拟硬盘:C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx
你也可以打开“Hyper-V管理器”来访问Docker / MobyLinuxVM。
当使用Docker for Mac应用程序时,容器似乎存储在位于以下位置的虚拟机中:
~/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磁盘以及其中的所有映像和容器。
在2021年的macOS上,唯一可能的解决方案是使用bash访问Docker VM,然后查看它的本地结构:
Docker运行-ti——privilege——pid=host debian nsenter -t 1 -m -u -n -i sh cd /var/lib/docker/
欢迎你!