设为首页 收藏本站
查看: 609|回复: 0

[经验分享] Docker私有仓库registry配置

[复制链接]

尚未签到

发表于 2018-5-28 07:32:19 | 显示全部楼层 |阅读模式
  Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库。
  使用私有仓库有许多优点:
  1.节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;
  2.提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。
  

  准备2台centOS7,192.168.174.128,192.168.174.129,都安装好Docker了。实验在128中安装registry,在129中那从128中pull镜像,也能push镜像到128。
  1.安装启动registry
  128上操作,下载registry镜像.
  #docker run -d -p 5000:5000 -v /root/my_registry:/tmp/registry registry
  Unable to find image 'registry:latest' locally
  Trying to pull repository docker.io/library/registry ...
  sha256:412e3b6494f623a9f03f7f9f8b8118844deaecfea19e3a5f1ce54eed4f400296: Pulling from docker.io/library/registry
  709515475419: Pull complete
  df6e278d8f96: Pull complete
  4b0b08c1b8f7: Pull complete
  80119f43a01e: Pull complete
  acf34ba23c50: Pull complete
  Digest: sha256:412e3b6494f623a9f03f7f9f8b8118844deaecfea19e3a5f1ce54eed4f400296
  Status: Downloaded newer image for docker.io/registry:latest
  7d4c45ea8e3d881723a2a3b93884a81653fb1b79a2cbc416190d152c0301a068
  

  # docker images
  REPOSITORY       TAG    IMAGE ID            CREATED       SIZE
  docker.io/registry  latest  136c8b16df20        4 weeks ago     33.17 MB
  默认情况下,会将仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会通过-v参数,指定本地一个目录挂载到容器内的/tmp/registry下,
  

  2.pull/push镜像
  把129上的某个镜像tag下,然后试试能否push到128的registry容器中,后面要跟:latest
  #docker tag dreambroken/hello-world:latest 192.168.174.128:5000/hello:latest
  使用push命令把重新打过tag的镜像上传到本地镜像仓库
  # docker push 192.168.174.128:5000/hello:latest
  The push refers to a repository [192.168.174.128:5000/hello]
  unable to ping registry endpoint https://192.168.174.128:5000/v0/
  v2 ping attempt failed with error: Get https://192.168.174.128:5000/v2/: http: server gave HTTP response to HTTPS client
  v1 ping attempt failed with error: Get https://192.168.174.128:5000/v1/_ping: http: server gave HTTP response to HTTPS client
  发现报错了,使用的是https,修改/etc/sysconfig/docker(这是centOS7下的1.10.3docker)文件,加上
  ADD_REGISTRY='--add-registry 192.168.174.128:5000'
  INSECURE_REGISTRY='--insecure-registry 192.168.174.128:5000'
  

DSC0000.png

  重启docker服务
  #systemctl restart docker
  然后push成功
  #docker push 192.168.174.128:5000/hello:latest
  The push refers to a repository [192.168.174.128:5000/hello]
  a02596fdd012: Pushed
  latest: digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9 size: 502
  

  本地服务器pull镜像
  本地服务器首先需要安装好docker,然后根据IP地址来pull镜像,举例来说我刚才建立镜像的主机IP是192.168.163.133,我们在局域网其他主机上执行以下指令:
  #docker pull 192.168.163.133:5000/tomcat
  同样像1中警告的那样我们首先需要去修改我们镜像下载服务器的docker配置文件在/etc/default/docker添加一行:
  DOCKER_OPTS="--insecure-registry 192.168.163.133:5000"这样就能顺利的从本地镜像库中下载镜像了。
  或者是在/etc/sysconfig/docker文件中添加
  OPTIONS='--selinux-enabled --insecure-registry 192.168.163.133:5000'
  #systemctl restart docker
  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-481941-1-1.html 上篇帖子: 虚拟化之容器docker基本操作 下篇帖子: docker容器的运行以及概述
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表