美文网首页
构建私有仓库

构建私有仓库

作者: 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