zyk198500 发表于 2015-11-26 10:32:11

Docker 快速上手系列(3): 仓库的概念及相关操作

Docker Hub
  首先我们先区分下两个概念,一个是仓库,一个是注册服务器。

Docker里仓库是集中存放镜像的地方,而注册服务器是放仓库的,

一个注册服务器可以存放多个仓库,例如:


dl.dockerpool.com/ubuntu
#注册服务器的地址是dl.dockerpool.com
#仓库的名字是ubuntu
  什么是Docker Hub,如果你用过Github,其实Docker Hub和Github

类似,前者是存放管理镜像的地方,后者是存放管理代码的地方。其实

现的方式是一样的。
  可以在本机通过docker login 命令进行注册。注册完成后用户的目录下会有一个.dockercfg的文件,你的认证信息会存放在这里

这里我们找一个ubuntu镜像



这里会发现有两种形式的name,一种是一个单词组成的比如第一个,从后后面的字段的信息可以看出这是这是官方的标配版镜像。

第二种形式xxx/xxx。比如:


ansible/ubuntu14.04-ansible #这个意思是docker用户ansible创建的一个版本的ubuntu镜像

自动更新容器内镜像的程序
  可能你会遇到一个问题,应用程序更新的问题,或是异性新特性必须要新版本才能用。

这里的自动更新就帮我们解决了这个问题,Docker的自动创建功能使得用户通过Docker Hub指定跟踪一个目标网站(目前只支持Github和BitBucket)上的项目,这些项目一旦有新版本提交,Docker则会自动执行创建。如果来配置自动创建呢?

步鄹如下:

1:创建并登录Docker hub,关联目标网站

2:在Docker Hub中配置一个自动创建

3:选取一个目标网站中的项目和分支

4:制定Dockerfile的位置,并提交创建

之后在Docker Hub中的“自动创建”页面中跟踪每次创建的状态


#这里我们只是说下流程,在博客中有一篇关于怎么配置Docker的自动创建的专题文章

创建和使用私有仓库
  在安装Docker完成后,可以通过官方提供的registry镜像来简单的搭建一套本地私有仓库环境:


docker run -d -p 5000:5000 registry
#这里的-p 5000:5000是指把宿主机的5000端口映射到registry镜像容器的5000端口上。
  在自动下载并启动一个registry容器后,会创建一个本地私有仓库服务,默认情况下,会将仓库创建在容器的/tmp/registry目录下。可以通过-v参数来将镜像文件存放在本地的制定的路径上。


docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry

私有仓库镜像的管理


docker images


使用Docker tag命令将镜像job1:latest标记为127.0.0.1:5000/test格式


docker tag job1:latest 127.0.0.1:5000/test


接下来我们使用Docker push 上传标记的镜像:


docker push 127.0.0.1/test
#我们把镜像推向我们配置的私有服务器的test仓库,当然这里我们是在本机模拟的
页: [1]
查看完整版本: Docker 快速上手系列(3): 仓库的概念及相关操作