文章目录[隐藏]

仓库,细说起来和 仓库是有着异曲同工之处的,都是可以 commit/pull/push,并且每次提交都是分层的结构。下面就说说 docker 仓库的一些基本概念,以及和 仓库都有哪些相同之处。

registry

Registry 是用来保存 docker 镜像及镜像层次结构和元数据的一个综合的管理和维护镜像的组件。和 一个概念,主要用于保存和管理 docker 镜像。用户也可以创建私有的 registry。

index

Index 可以想像成 registry 的索引,主要用于管理用户的账号、访问权限、镜像及镜像标签等等相关检索库的。docker search 命令所检索的就是 index 索引。

repository

Repository 是由具有某个功能的镜像的所有相关版本构成的集合,相当于 Github 中的一个项目,是 registry 中的一个功能。

从以上信息可以看到,docker.io/ 只是作为一个项目名存在,后面的 TAG 才是具体镜像。是不是跟 Github 中的 tag 有点像?

graph

以上都是远端仓库组件,而 graph 是本地客户端组件。

从 registry 中下载的 Docker 镜像需要保存在本地,此功能即由 graph 完成。

早期的本地镜像存在于 /var/lib/docker/graph 中,但最近找不到这个目录了,仔细翻看了一下,发现镜像相关数据都存在了 /var/lib/docker/image 里面,比如存放镜像数据的 /var/lib/docker/image/devicemapper/repositories.json

That’s all.