今天突然想到一个问题,docker的镜像到底存在哪的,一直没太注意,稍微记录下
1、先查看下本地有哪些images
docker images
2、找到docker的数据目录
/var/lib/docker
可以看到有好多的目录
盲猜一波大概也能猜到
containers 是当前运行的容器数据
image 是镜像数据
network是网络数据
下面自己猜吧,直接进入image目录
3、找到目录
当前目录:/var/lib/docker/image/overlay2
可以看到目录还有文件
repositories.json 是当前镜像的索引
imagedb 是存储的镜像数据
4、找到镜像的id
路径:/var/lib/docker/image/overlay2/imagedb/content/sha256
看下怎么记录的
格式化一下这个记录
5、总结
docker的镜像管理最好还是使用相关的命令,至于其中的db存储的规则并没有探究,比如如果你想删除一个镜像最好使用docker rmi xxxx ,不要手动去删除文件,这样很难保证文件的一致性,容易出现乱七八糟的错误