Docker基础-10-如何发布一个镜像到私有的docker仓库

本篇来介绍如何搭建自己的Docker registry,用来存储和分发自己私人的镜像文件。前面一篇使用docker push默认是发布镜像到hub.docker.com这个公有的镜像站点,这篇主要介绍私有镜像站点的在本地的搭建过程。

前面我们只准备了一台linux虚拟机用来练习和学习Docker,一般情况需要再使用一台机器作为私有仓库使用,这里我们使用同一台机器。

 

拉取docker registry镜像

我们先启动docker服务,然后使用docKer pull registry拉取一个镜像到本地。

看看这个镜像多大

启动registry

启动registry实际上就是启动一个容器,这个registry其实和hub.docker.com是一样的功能,只不过这个私有的registry是供给公司内部使用,不对外访问罢了。使用下面的命令就启动了registry服务(运行在一个容器中)。

 # docker run -d -p 5000:5000 --restart always --name registry  registry:latest         

 

上面可以看到两个端口都是5000,简单说一下,一个是linux虚拟机也就是0.0.0.0:5000,这个5000是这个虚拟机本身的端口,第二个是5000是这个registry容器里的端口是5000.。容器的名称叫registry,使用的image是registry:latest 

 

发布镜像到私有registry

1) 我的机器上有个centos6.8的镜像,我们要通过docker tag将该镜像标志为要推送到私有仓库

# docker tag centos:6.8 127.0.0.1:5000/centos68

2) 接下来,我们运行docker push将centos:6.8镜像push到我们的私有仓库中

3) 现在我们可以查看我们本地某个目录下已经有了刚推送上来的centos。我们也在浏览器中输入http://192.168.66.152:5000/v2/_catalog,正常返回如下数据


4) 现在我们可以先将我们本地的docker rmi 127.0.0.1:5000/centos68和docker rm  centos:6.8先删除掉

5) 然后使用docker pull从我们的私有仓库中获取hello-world镜像

6) 问题来了,push到registry的镜像在哪呢?

我通过find找到了

为了防止默认的存放,在搭建的时候需要注意下:

Docker 官方提供了一个搭建私有仓库的镜像 registry ,只需把镜像下载下来,运行容器并暴露5000端口,就可以使用了。

docker pull registry:2
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2

Registry服务默认会将上传的镜像保存在容器的/var/lib/registry,我们将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr. Sun_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值