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

     
     
  • 相关阅读:
    StrToUnicode C#语言如何将汉字转换成Unicode字符
    SQLServer 2008数据库查看死锁、堵塞的SQL语句
    String.IsNullOrEmpty和"".length>0 那个更高效
    使用策略设计模式,反射,解决商城系统中的商品折扣问题
    假分页
    MAC校验
    eclipse环境加载svn
    将数据导出Excel格式
    svn提交问题
    字符串前拼接字符
  • 原文地址:https://www.cnblogs.com/zjd2626/p/7308883.html
Copyright © 2011-2022 走看看