本节目录:
- 访问仓库
- Docker Hub
- 私有仓库
- 仓库配置文件
访问仓库
仓库是集中存放镜像的地方。Registry 注册服务器是管理仓库的具体服务器,每个服务器上面有很多个仓库,每个仓库对应有许多镜像。从这方面来说,仓库可以被认为是一个具体的项目或者目录。需要我们对注册服务器做区分。
Docker Hub
Docker Hub 是官方维护的公共仓库 Docker Hub ,其中已经包括了超过 15,000 的镜像。大部分都可以从 Docker Hub 中下载镜像来实现。
登录
基本操作
用户无需登录即可通过在 docker search
查找官方仓库中的镜像,docker pull
来下载到本地
实例:
docker search + 搜索的关键词,其中我们可以看出,搜索出来的字段,包括镜像名称,描述,星级,是否官方创建、是否自动创建。
- 名称:一般官方创建、维护、支持的镜像都是单个单词作为名字。用户创建的镜像一般名称格式 username/
- 描述:对镜像的说明
- 星级:表示该用户的受欢迎程度
-s N 参数可以在查找中指定显示 N 星以上的镜像(新版本推荐filter=starts=N 参数)
方式 1:
方式 2:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
自动创建
Automated Builds 自动创建功能对于需要经常升级镜像的程序来说,十分方便。自动创建允许用户通过 Docker Hub 指定跟踪一个目标网站(支持 GitHub 和 BitBucket )上的项目,一旦项目发生新的提交,则自动执行创建。
操作:
- 登录 Docker Hub ,以及目标网站;
- 在目标网站中连接到 Docker Hub;
Docker Hub 中配置一个自动创建
选取一个目标网站中的项目(需要含 Dockerfile)
和分支; 指定 Dockerfile 的位置,并提交创建- 在 Docker Hub 自动创建页面跟踪每次创建的状态
私有仓库
有时候使用 Docker Hub 不方便,用户可以创建一个本地仓库供私人使用。
docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库
安装运行docker-registry
容器运行
使用官方的 registry 镜像来启动本地的私有仓库
默认情况下,仓库会被创建在容器的 /var/lib/registry 下。可以通过 -v 参数来将镜像文件存放在本地的指定路径。下面将上传的镜像放到 /opt/data/registry 目录
Docker私有仓库Registry的搭建验证
搭建docker本地镜像仓库
在私有仓库上传、下载、搜索镜像
创建好私有仓库之后,就可以使用 docker tag 来标记一个镜像,然后推送到仓库里,别的机器就可以下载
- docker images 查看已有的镜像
- docker tag 将 deal194 标记为 127.0.0.1:5000/test
(格式:docker tag images[:tag][registryhost/][username/name[:tag])
- docker push 127.0.0.1:5000/test 使用 push 上传标记的镜像
- curl 查看仓库中的镜像
仓库配置文件
Docker 的 Registry 利用配置文件提供了一些仓库的模板,用户直接使用它们来进行开发或生产部署
模板
在 config_sample.yml 文件中,可以看到一些模板段:
用户也可以添加自定义的模板段: