Docker仓库分为公有仓库私有仓库,官方有个仓库叫可以供Docker开发者实现镜像的推送和拉取,也支持公有仓库和私有仓库。但是网络问题,如果从官方仓库拉取镜像速度会很慢,而且有些涉及到重要项目的镜像推送到人家服务器上,即使是私有仓库,也是感觉不安全的。

    对于公司进行Docker开发的话,应该维护自己一个内网的私有仓库。这样不仅便于下载速度快,节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可,而且提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。

    创建私有仓库的步骤如下:

    • 首先需要有两台机器,一台作为仓库的Server,一台作为仓库的Client,用户通过Client来进行镜像的提交和拉取操作。

    这里,采用两台虚拟机做例子:

    • 在Server端启动registry容器:

    启动命令:

    这里建立了一个名为registry的守护式容器,挂载了服务器目录/opt/data/registry,映射端口为5000,这样在本地或者远程就可以通过该端口来访问仓库。

    • 在Client端进行Docker配置:

    修改配置文件/etc/default/docker,在DOCKER_OPTS中加入”—insecure-registry 192.168.142.151:5000“。这样把一个通过认证的安全证书加到Registry服务中。

    修改完配置,要重启docker进程:

      • 在Client端进行镜像的推送和拉取:

      向仓库推送镜像:

      image

      删除本地镜像:

      从仓库拉取镜像