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)

  • 相关阅读:
    gc buffer busy/gcs log flush sync与log file sync
    给Oracle年轻的初学者的几点建议
    Android 编程下帧动画在 Activity 启动时自动运行的几种方式
    Android 编程下 Touch 事件的分发和消费机制
    Java 编程下 static 关键字
    Java 编程下 final 关键字
    Android 编程下模拟 HOME 键效果
    Why Are Thread.stop, Thread.suspend, Thread.resume and Runtime.runFinalizersOnExit Deprecated ?
    Extjs4 大型项目目录结构重构
    [转]SQLServer 2008 允许远程连接的配置方法
  • 原文地址:https://www.cnblogs.com/wenyang321/p/13917901.html
Copyright © 2011-2022 走看看