美文网首页
构建私有仓库

构建私有仓库

作者: 2a83137e9433 | 来源:发表于2019-02-04 12:44 被阅读1次

私有仓库程序

  • 在centos7下,可以先安装“私有仓库程序”,docker-registry
  • 安装命令是yum -y install docker-registry
  • 安装后可以使用命令查看安装所产生的文件目录:rpm -ql {包名}
  • 在这里,命令是rpm -ql docker-distribution,运行后,显示:
[root@688eb2df7f86 /]# rpm -ql docker-distribution
/etc/docker-distribution/registry/config.yml
/usr/bin/registry
/usr/lib/systemd/system/docker-distribution.service
/usr/share/doc/docker-distribution-2.6.2
/usr/share/doc/docker-distribution-2.6.2/AUTHORS
/usr/share/doc/docker-distribution-2.6.2/CONTRIBUTING.md
/usr/share/doc/docker-distribution-2.6.2/LICENSE
/usr/share/doc/docker-distribution-2.6.2/MAINTAINERS
/usr/share/doc/docker-distribution-2.6.2/README.md
/var/lib/registry
  • 其中,/var/lib/registry代表私有仓库存放镜像的路径
  • 安装好后,如果是非镜像环境,可以启动服务:systemctl start docker-distribution
  • 如果是镜像环境:/usr/bin/registry serve /etc/docker-distribution/registry/config.yml v,这种弄启动方式是非后台运行模式
  • 接着,可以另起一个shell窗口,查看端口监听情况netstat -ntl
  • 因为需要将镜像push到运行docker-distribution服务(对应端口是5000)所在的服务器上,所以需要知道它的ip:cat /etc/hosts,我实验时的地址是172.17.0.2
  • 给镜像打tag:docker tag testnginx:v0.1.10.2 172.17.0.2:5000/testnginx:v0.1.10.2
  • push镜像:docker push 172.17.0.2:5000/testnginx:v0.1.10.2
  • 此时,会提示:

The push refers to a repository [172.17.0.2:5000/testnginx]

Get https://172.17.0.2:5000/v1/_ping: http: server gave HTTP response to HTTPS client

  • 原因是提供私有仓库服务的程序是以http协议工作的,而你本地的客户端是https协议的
  • 解决办法是,在本地将私有仓库服务的地址配置为非加密(非安全)
  • 配置项名是insecure-registries,配置文件位于:/etc/docker/daemon.json
  • 添加内容"insecure-registries":["172.17.0.2:5000"],每个环境的情况不一样,请按实际的环境进行配置!
  • 配置好后,重新启动docker:service docker restart
  • 此时,可以再次push刚刚的镜像,docker push 172.17.0.2:5000/testnginx:v0.1.10.2
  • push成功!

相关文章

网友评论

      本文标题:构建私有仓库

      本文链接:https://www.haomeiwen.com/subject/ovspsqtx.html