企業級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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM