zoukankan      html  css  js  c++  java
  • docker自建仓库Registry

           因为生产情况下官方容器还是比较慢的,所以会用到自建docker仓库。docker官方提供完整部署仓库的容器,你只需要提供域名证书,把文件系统挂载到容器,一个用户密码文件就可以使用基本的仓库功能了。

    启动一个registry容器

    默认情况下,会将仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/tmp/registry下,如下

    [root@salt-node1 distribution-master]# docker run -d -p 5000:5000 -v /opt/registry:/tmp/registry registry

    9ed2f91a7056f1109d2146122930b12f7d077a5404f621647d12eeeb29725260

    提交一个本地的镜像到本地仓库,这个需要你首先 tag 一个镜像,然后才能 push 上去

    [root@salt-node1 ~]# docker tag redis localhost:5000/redis

    [root@salt-node1 ~]# docker push localhost:5000/redis

    但是因为你本地仓库如果不进行证书认证只能127.0.0.1访问,所以我们要创建密钥。否则在另外一台机器pull时会提示:

    root@ubuntu:/etc/docker# docker pull 192.168.161.130:5000/redis
    Using default tag: latest
    Error response from daemon: Get https://192.168.161.130:5000/v1/_ping: http: server gave HTTP response to HTTPS client

    一种处理方式是修改客户端机器

    在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入:

    { "insecure-registries":["192.168.1.100:5000"] }

    保存退出后,重启docker。问题解决。

    另一种方式是在服务器端添加证书

    配置一个域名

    给域名准备一个加密证书,启动容器

    docker run -d -p 5000:5000 --restart=always --name registry

      -v /etc/docker/certs:/certs

      -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt

      -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key

      registry:2

     ------------------------------------

    还有一个更简单的建立本地仓库的办法:

    yum install docker docker-distribution 

    #systemctl enable docker
    #systemctl start docker
    #systemctl enable docker-registry
    #systemctl start docker-registry

    [root@01 /]# vim /etc/sysconfig/docker
    • 把下面这一行添加进去。
    OPTIONS='--insecure-registry 192.168.161.130:5000'

    systemctl restart docker docker-registry

    docker tag ubuntu 192.168.161.130:5000/ubuntu
    docker push 192.168.161.130:5000/ubuntu

     
     
  • 相关阅读:
    IP负载均衡技术
    ES6 克隆对象 浅克隆:只能克隆原始对象自身的值,不能克隆它继承的值
    多层nginx中的压缩问题 api接口>1M数据的返回浏览器 网关
    Status Code: 431 Request Header Fields Too Large
    研发过程中的测试工作
    dede文章页调用当前栏目链接方法
    dedecms做好的网站怎么上传到网上?
    如何修改"DEDECMS 提示信息!"方法!
    dedecms搜索提示"关键字不能小于2个字节!"
    修改cms版权等等信息
  • 原文地址:https://www.cnblogs.com/zjd2626/p/7308883.html
Copyright © 2011-2022 走看看