Docker实战(三)之访问Docker仓库

仓库是集中存放镜像的地方,分为公共仓库和私有仓库。一个容易与之混肴的概念是注册服务器。实际上注册服务器是存放仓库的具体服务器,一个注册服务器上可以有多个仓库,而每个仓库下面可以有多个镜像。从这方面来说,可将仓库看做一个具体的项目或目录。例如对于仓库地址private-docker.com/ubuntu来说,private-docker.com是注册服务器地址,ubuntu是仓库名。

1.Docker Hub公共镜像市场

目前Docker官方维护了一个公共镜像仓库https://hub.docker.com,其中已经包括超过上万的镜像。大部分镜像需求,都可以通过Docker Hub中直接下载镜像来实现。

(1)登录

可以通过命令行执行docker login命令输入用户名和密码、邮箱等来完成注册和登录。注册成功后,本地用户目录.dockerfile中将保存用户的认证信息。

登录成功的用户可以上传个人制造的镜像。

(2)基本操作

用户无需登录即可通过docker search命令来查找官方仓库中的镜像,并利用docker pull 命令来将它下载到本地。

例如:

搜寻centos的镜像

Docker实战(三)之访问Docker仓库

下载centos镜像

Docker实战(三)之访问Docker仓库

(3)自动创建

自动创建功能对于需要经常升级镜像内程序来说,十分方便。有时候,用户创建了镜像,安装了某个软件,如果软件发布新版本则需要手动更新镜像。

而自动创建允许用户通过Docker Hub指定跟踪一个目标网络(目前支持Github或BitBucket)上的项目,一旦项目发生新的提交,则自动执行创建。

要配置自动创建,包括如下步骤:

a.创建并登陆Docker Hub,以及目标网站;*在目标网站中连接账户到Docker Hub;

b.在Docker Hub中配置一个"自动创建";

c.选取一个目标网站中的项目(需要含Dockerfile)和分支;

d.指定Dockerfile的位置,并提交创建;

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

2.时速云镜像市场

时速云镜像市场,通过百度搜索一大把,阿里云等是比较有名的。当然通常是要收费的。

3.搭建本地私有仓库

(1)使用registry镜像创建私有仓库

docker run -d -p 5000:5000 registry
这将自动下载并启动一个registry容器,创建本地的私有仓库服务。

默认情况下,会将仓库建立在容器的/tmp/registry目录下。可以通过-v参数来将镜像文件存放在本地的指定路径。

例如下面的例子将上传的镜像放到/opt/data/registry目录:

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

此时,在本地将启动一个私有仓库服务,监听端口为5000

(2)管理私有仓库

docker tag ubuntu:14.04 10.0.2.2:5000/test

使用docker push 上传标记的镜像

docker push 10.0.2.2:5000/test

注意:如果要使用安全证书,用户可以从比较知名的CA服务商申请公开的SSL/TLS证书,或者使用openssl等软件自行生成。

上一篇:Spring cglib 初始化 ExceptionInInitializerError,new Enhancer() 异常


下一篇:试用 Nexus OSS 3.0 的docker仓库 (一)