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

[经验分享] docker私有库搭建过程(Registry)

[复制链接]

尚未签到

发表于 2017-12-6 21:12:16 | 显示全部楼层 |阅读模式
  实验环境:
  CentOS7  1611
  Docker  1.12.6
  registry    2.0
  1、安装并运行registry
  安装:
[iyunv@docker01 ~]# docker pull registry

  Using default tag: latest
  Trying to pull repository docker.io/library/registry ...
  latest: Pulling from docker.io/library/registry
  79650cf9cc01: Pull complete
  70ce42745103: Pull complete
  77edd1a7fa4d: Pull complete
  432773976ace: Pull complete
  3234a47fe5a9: Pull complete
  Digest: sha256:a3551c422521617e86927c3ff57e05edf086f1648f4d8524633216ca363d06c2
[iyunv@docker01 ~]# docker images

  REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
  docker.io/busybox    latest              c30178c5239f        6 days ago          1.106 MB
  docker.io/registry   latest              9d0c4eabab4d        6 weeks ago         33.17 MB
[iyunv@docker01 ~]#

  运行:
[iyunv@docker01 ~]# docker run -d -p 5000:5000 -v /mnt/date/registry:/var/lib/registry registry

  75841a99e1fc882617bc37d088a8c80abae225cfe2842110f2049600df560a47
[iyunv@docker01 ~]#

  -d后台运行
  -p指定端口
  -v把registry的镜像路径/var/lib/registry映射到本机的/mnt/date/registry
  检查5000端口
  netstat -an | grep 5000
[iyunv@docker01 ~]# netstat -an | grep 5000

  tcp6       0      0 :::5000                 :::*                    LISTEN   
[iyunv@docker01 ~]#

  telnet 127.0.0.1 5000成功。
[iyunv@docker01 ~]# telnet 127.0.0.1 5000

  Trying 127.0.0.1...
  Connected to 127.0.0.1.
  Escape character is '^]'.
  q
  HTTP/1.1 400 Bad Request
  Content-Type: text/plain
  Connection: close
  400 Bad RequestConnection closed by foreign host.
[iyunv@docker01 ~]#

  2、添加tag标记
[iyunv@registry ~]# docker tag busybox 10.100.50.120:5000/busybox

[iyunv@registry ~]# docker images

  REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
  10.100.50.122:5000/busybox   latest              c30178c5239f        6 days ago          1.106 MB
  docker.io/busybox            latest              c30178c5239f        6 days ago          1.106 MB
  docker.io/registry           latest              9d0c4eabab4d        6 weeks ago         33.17 MB
[iyunv@registry ~]#

  3、上传镜像报错
[iyunv@registry xinetd.d]# docker push 10.100.50.120:5000/busybox

  The push refers to a repository [10.100.50.122:5000/busybox]
  Get https://10.100.50.120:5000/v1/_ping: http: server gave HTTP response to HTTPS client
[iyunv@registry xinetd.d]#

  解决方案:
  修改/etc/sysconfig/docker文件,并重新启动docker服务。
  ADD_REGISTRY='--add-registry 10.100.50.120:5000'
  INSECURE_REGISTRY='--insecure-registry 10.100.50.120:5000'
DSC0000.png

  4、上传镜像
[iyunv@registry ~]# docker push 10.100.50.120:5000/busybox

  The push refers to a repository [10.100.50.120:5000/busybox]
  3a1dff9afffd: Pushed
  latest: digest:     sha256:be3c11fdba7cfe299214e46edc642e09514dbb9bbefcd0d3836c05a1e0cd0642 size: 527
[iyunv@registry ~]#

  其他坑:
  坑1:
  IPV4 forwording报错,但是容器运行正常。
[iyunv@registry mnt]# docker run -d -p 5000:5000 -v /mnt/date/registry registry

  WARNING: IPv4 forwarding is disabled. Networking will not work.
  970e18480c47661fd2cffab9f7e0410989e62ed9d229333cb32e5727a2e88b3b
[iyunv@registry mnt]#

  解决方案:
  在/etc/sysctl.conf文件中加入net.ipv4.ip_forward=1并重启网络服务。
DSC0001.png

  修改后正常:
[iyunv@registry mnt]# docker run -d -p 5000:5000 -v /mnt/date/registry registry

  abbec57e5dca734689cfd953f27564156ec24e32ae6e532043309f0332653650
[iyunv@registry mnt]# docker ps

  CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
  abbec57e5dca        registry            "/entrypoint.sh /etc/"   31 seconds ago      Up 30 seconds       0.0.0.0:5000->5000/tcp   compassionate_mclean
[iyunv@registry mnt]#

  坑2:
  查看镜像存放位置显示404 page not found网上很多教程都是下面这个命令
[iyunv@docker01 ~]# curl http://10.100.50.122:5000/v2/search

  404 page not found
  通过docker search registry发现安装的是2.0版本。
DSC0002.png

  V2的命令格式如下:
  http://10.100.50.122:5000/v2/_catalog[iyunv@docker01 ~]# curl -X GET
  {"repositories":["busybox","centos"]}
[iyunv@docker01 ~]#

  http://www.jianshu.com/p/fc36368b5c44文档:

运维网声明 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-421472-1-1.html 上篇帖子: [原]Docker部署SuperMap8.1.1 下篇帖子: docker run Influxdb
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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