zoukankan      html  css  js  c++  java
  • 企业级docker-registry原生镜像仓库高可用部署

    简介:
    私有镜像仓库可以方便企业,或个人开发者共享内部镜像而不会泄漏私有代码,而且可以加速镜像的拉取。能更加方便得集成到容器化的 CI/CD 中去。也可建立自己的公共镜像仓库。
    优势:
    Docker Registry的优点如下:
    (1)Docker Registry的最大优点就是简单,只需要运行一个容器就能集中管理一个集群范围内的镜像,其他机器就能从该镜像仓库下载镜像了。
    (2)在安全性方面,Docker Registry支持TLS和基于签名的身份验证。
    (3)Docker Registry也提供了Restful API,以提供外部系统调用和管理镜像库中的镜像

    部署架构图:

    环境准备:


    开始部署:
    1. 基础环境配置(两台节点都要配置)

    (1) 配置主机名

    #hostnamectl set-hostname registry01.example.com
    #hostnamectl set-hostname registry02.example.com
    

    (2) 配置节点hosts

    #cat /etc/hosts
    1.1.1.130 registry.example.com
    1.1.1.129 registry02.example.com
    1.1.1.128 registry01.example.com
    

    (3) 关闭防火墙

    #systemctl stop firewalld
    #systemctl disable firewalld
    


    (4) 开启IPtables

    #yum install -y iptables-services
    #systemctl start iptables
    #systemctl enable iptables
    


    (5) 关闭selinux

    #vi /etc/selinux/config
    #setenforce 0
    #getenforce
    


    (6) 配置yum源

    (7) 配置节点时间同步服务

    #yum install –y chronyd
    #vi /etc/chrony.conf    //添加时间同步服务器地址
    #systemctl restart chronyd
    #timedatectl
    

    2. 存储配置(两台节点都要配置)
    (1) 查看本地磁盘sdb
    #lsblk
    (2) 设置LVM分区

    #pvcreate /dev/sdb
    #vgcreate docker_vg /dev/sdb
    #lvcreate -l +100%FREE -n docker_lv docker_vg
    

    # mkfs.xfs /dev/docker_vg/docker_lv

    (3) 为docker挂载本地目录

    #blkid
    #vi /etc/fstab
    


    (4) 为镜像仓库目录挂载NFS存储

    #mkdir –p  /data/registry
    #vi /etc/fstab
    1.1.1.214:/sdsfs/registrynfs/ /data nfs defaults 0 0
    


    3. 服务配置(两台节点都要配置)
    (1) 节点安装docker V1.13.1 并设置开机自动启动

    #yum install docker –y 
    #systemctl enable docker
    

    (2) 节点安装docker-distribution并设置开机自动启动

    #yum install docker-distribution –y
    #systemctl enable docker-distribution
    

    (3) 节点设置自动挂载并启动服务

    # mount –a
    #df –h 
    

    # systemctl start docker
    # systemctl start docker-distribution
    

    (4) 修改docker-distribution 的配置文件并重启
    #vi /etc/docker-distribution/registry/config.yml

    # systemctl restart docker-distribution

    (5) 节点设置非安全镜像仓库并上传registry-ui 镜像
    #vi /etc/sysconfig/docker

    #systemctl restart docker
    下载registry-ui 的镜像 (docker hub地址 https://hub.docker.com/r/jc21/registry-ui )
    docker pull jc21/registry-ui:2.0.2

    #docker tag jc21/registry-ui:2.0.2 registry.example.com/registry/registry-ui:2.0.2
    #docker images
    


    (6) 节点放行iptables 规则,允许端口被访问
    #vi /etc/sysconfig/iptables

    -A INPUT -p tcp --dport 5000 -j ACCEPT
    -A OUTPUT -p tcp --sport 5000 -j ACCEPT
    -A INPUT -p tcp --dport 80 -j ACCEPT
    -A OUTPUT -p tcp --sport 80 -j ACCEPT
    

    !注意顺序
    #systemctl restart iptables

    (7) 节点安装registry-ui 并检查
    # docker run -d -p 80:80 --restart=always -e REGISTRY_HOST=registry.example.com -e REGISTRY_SSL=false -e REGISTRY_DOMAIN=registry.example.com -e REGISTRY_STORAGE_DELETE_ENABLED=true --name registry-ui registry.example.com/registry/registry-ui:2.0.2

    (8) 浏览器访问registry-ui (访问地址:http://registry.example.com:8080)

  • 相关阅读:
    java入门经验分享——记面向对象先导课程学习感想
    HashCode方法整理
    Java中vector用法整理
    Java中Iterator用法整理
    org.springframework.data.redis.RedisConnectionFailureException
    dubbo服务启动正常,但是访问不到服务,在监测中心也找不服务的原因之一
    【转】Elasticsearch Java Rest Client 指南
    【转】mybatis根据mapper执行sql的过程
    转:IDEA异常解决: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
    ES的常用查询与聚合
  • 原文地址:https://www.cnblogs.com/wenyang321/p/13917901.html
Copyright © 2011-2022 走看看