docker私有仓库的介绍以及 Docker registry 安装
文章目录
-
- 什么是 Docker Registry
- 镜像仓库工作机制
- 常用的镜像仓库
- 快速部署 Docker Registry
- 上传镜像
- 下载镜像
- 部署域名地址的Docker registry
什么是 Docker Registry
镜像仓库(Docker Registry)负责存储、管理和分发镜像,并且提供了登录认证能力,建立了仓库的索引。
镜像仓库管理多个 Repository, Repository 通过命名来区分。每个 Repository 包含一个或多个镜像,镜像通过镜像名称和标签(Tag)来区分。
整体视图如下:
镜像仓库(Registry):通常通过 DNS 或 IP 地址来确定一个镜像仓库,如 hub.docker.com。一个 Registry 中可以存在多个 Repository,Repository 可分为 “顶层仓库” 和 “用户仓库”。用户仓库名称格式为 “用户名 / 仓库名”。每个仓库可以包含多个 Tag(标签),每个标签对应一个镜像。
- Repository:由某特定的 docker 镜像的所有迭代版本组成的镜像仓库。
- 镜像名称(name)+ 标签(tag)如 nginx:latest
- 认证能力:提供用户注册,登录、登出能力。
- 索引:提供镜像的索引信息,方便检索。
一个容器镜像包含了两个部分,一个是元数据,其实就是由 dockerfile 构建出来的描述文件,这个描述文件会说这个容器镜像有多少层,每一层里面有什么内容,它的 checksum 这些信息都会记录下来,还有最终的可执行文件在哪就是在存储数据里面,就是在一个个的 blob 里面,真正占有空间的就是这些 blob。
镜像仓库分类
- 公有仓库:像阿里云、dockerhub 等放到公有网络上,不用登录就可以下载镜像,供大家访问使用。
- 私有仓库:不对外开放,往往位于私有网络,只有公司内部人员可以使用。
镜像仓库工作机制
镜像仓库使用流程
-
通过 docker login 登录仓库。
-
Docker pull 拉取需要的镜像。
-
通过 dockerfile 或者 commit 等方式制作完镜像通过 docker push 上传到仓库。
实际研发中镜像仓库如何使用
Docker Registry 中的镜像通常由开发人员制作,而后推送至 “公共” 或 “私有” Registry 上保存