docker pull 私有_基于Docker私有仓库Registry实战,值得收藏

概述

关于Docker更多的概念将不在这里介绍了,作为虚拟化市场的一颗冉冉升起的新星,Docker得到了越来越多企业的青睐,越来越多的开发者决定拥入Docker的怀抱。“集装箱”是Docker设计哲学之所在,它让一台物理机(或者虚拟机)同时运行多个彼此隔离的应用变得更为轻松简单,当然这一切还是多亏Linux的相关底层技术,当然,也包括OS X,Windows这两个操作系统。

今天主要简单介绍一下如何搭建Docker私有仓库Registry,仅供参考。


一、关于Registry

官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理我们自己的镜像。这个可以通过开源软件Registry来达成目的。

Registry在github上有两份代码:老代码库和新代码库。老代码是采用python编写的,存在pull和push的性能问题,出到0.9.1版本之后就标志为deprecated,不再继续开发。从2.0版本开始就到在新代码库进行开发,新代码库是采用go语言编写,修改了镜像id的生成算法、registry上镜像的保存结构,大大优化了pull和push镜像的效率。

官方在Docker hub上提供了registry的镜像,我们可以直接使用该registry镜像来构建一个容器,搭建我们自己的私有仓库服务。


二、 Registry的部署

1、获取registry镜像

下载到的版本默认为 docker.io/registry:latest

--安装dockeryum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)yum install -y docker-ce-18.06.3.ce(先用yum list docker-ce --showduplicates | sort -r查看最新版本)systemctl start docker &&  systemctl enable dockerdocker version--拉取registry镜像docker pull registry
c224a8c3cbaedb9d48d7c42bfc286823.png

2、将registry镜像运行并生成一个容器

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

docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
a89c2de4dd94d2640c2536a7d0d82a24.png

3、测试registry容器是否正常运行

registry容器启动后,打开浏览器输入http://ip_add:5000/v2/,看到下面情况说明registry运行正常

41e88d13c54d06d63c856256edf0ec13.png

三、Registry实战

1、修改客户端docker的配置文件/etc/docker/daemon.json

默认启动的registry服务不是安全可信赖的,需修改客户端docker的配置文件/etc/docker/daemon.json,添加下面蓝色的内容(registry服务地址),其中 "registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com"] 是阿里云代理的Registry Hub仓库的地址,可以加快国内访问Registry Hub仓库的速度。

{"registry-mirrors": [ "https://pee6w651.mirror.aliyuncs.com"],"insecure-registries": ["192.168.189.35:5000"]}

2、重启docker服务

systemctl restart docker 
2f843c4f00b88b4640330a02a268251d.png

3、测试上传镜像到Registry

通过将镜像push到registry来验证,注意将主机的registry镜像命名为符合仓库要求registry_url:port/ImageName:tag的格式

--下载镜像docker pull codenvy/jdk8_maven3_tomcat8docker images--通过docker tag命令来实现命名docker tag codenvy/jdk8_maven3_tomcat8:latest 192.168.189.35:5000/codenvy/jdk8_maven3_tomcat8:latestdocker iamges--上传jdk镜像到Registry仓库docker push 192.168.189.35:5000/codenvy/jdk8_maven3_tomcat8:latest
664f639a4673f63c13eaa86e879e1366.png
698b45a2dfcd31ae8ccede3c8bfc4268.png

4、检查镜像

push成功之后,查看本地/opt/registry目录下已经有了刚推送上来的registry镜像,也可以在浏览器中输入http://ip_add:5000/v2/_catalog查看

f41f46f5af084766ce4a06c854fecefd.png
2bdca8a29729de0ff122703120504e29.png

5、从Registry私有仓库拉取镜像

docker pull  192.168.189.35:5000/codenvy/jdk8_maven3_tomcat8:latest
ee086fd7e3121cbe8524d6004173d44c.png
581db8f7bc8ee9b8b66526fa4493c770.png

后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下

58925998dfb254a2cc2af29bf07ec2b1.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值