Docker 仓库的一些基本概念

文章目录[隐藏]

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

registry

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

index

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

repository

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

[hzz@ ~]$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/    7                   2d194b392dd1        39 hours ago        195.4 MB
docker.io/     latest              e548f1a579cf        2 weeks ago         108.6 MB
docker.io/debian    stretch-slim        87afbf13bea7        2 weeks ago         55.27 MB
[hzz@ ~]$ 

从以上信息可以看到,docker.io/centos 只是作为一个项目名存在,后面的 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.

Docker 仓库的一些基本概念

Leave a Reply

Your email address will not be published. Required fields are marked *