Docker镜像文件和容器的保存位置

Docker镜像文件和容器的保存位置

可能是由于docker的不断更新,网上大部分所说的存储位置都不准确(也有可能我没有找到)

以下是ubuntu系统下的地址

总的来说

/var/lib/docker/image 镜像的配置文件
/var/lib/docker/containers 容器的配置文件
/var/lib/docker/overlay2 镜像的原文件 和 容器实例化的地址

举例来说

我有两个镜像
VM-0-15-ubuntu# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest c29284518f49 8 days ago 72.8MB
hello-world latest d1165f221234 4 months ago 13.3kB

用ubuntu镜像生成两个容器
VM-0-15-ubuntu# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
39625aebc6c4 ubuntu “/bin/bash” 2 hours ago Up 2 hours adoring_nash
5e3eed54ead1 ubuntu “/bin/bash” 3 hours ago Up 2 hours zen_cori

镜像配置内容

记录镜像配置内容地址
/var/lib/docker/image/overlay2/repositories.json
记录所有镜像配置内容地址
其中sha256:c29284518f49是我ubuntu的镜像

镜像配置内容
/var/lib/docker/image/overlay2/imagedb/content/sha256/c29284518f497b8c5f49933e74e43ca5221e69c8251e780427f7d12f716625ff
镜像配置内容中记录映射关系的文件地址 sha256:a70daca533d0

镜像真实地址映射
/var/lib/docker/image/overlay2/layerdb/sha256/a70daca533d02f0886624703e70526b9ce8969b8cb87ff1eac163441fe071aa3/cache-id

cache-id 记录镜像文件真实地址 e6179429be6d

镜像源文件地址
/var/lib/docker/overlay2/e6179429be6d167c191631731bac85bccb65298332a2f0b7ad6e6cfa33cfc1f4
ubuntu镜像源文件地址

容器配置内容

配置文件
每个镜像 生成一个容器实例 会生成对应的配置文件
/var/lib/docker/containers/39625aebc6c40d463be517accd36697a6837608916d96a33ffe90aa7c3e6ef12
这个文件夹中时容器的配置信息
config.v2.json 中记录着容器是由哪个镜像得来的
但是没有记录实例化后的地址

容器实例化的地址
下面的镜像装载路径中记录了 容器实例化的地址
/var/lib/docker/image/overlay2/layerdb/mounts/39625aebc6c40d463be517accd36697a6837608916d96a33ffe90aa7c3e6ef12/mount-id
ID和实例化地址匹配
mount-id fc41e8fbd9efcd170b9752d2f0f74d7917fc7d342f1d26ac707930b7d6472a83#

容器实例化的地址
/var/lib/docker/overlay2/fc41e8fbd9efcd170b9752d2f0f74d7917fc7d342f1d26ac707930b7d6472a83

你可能感兴趣的:(其他,docker)