1. 程式人生 > >CentOS7搭建Docker私有倉庫----Docker

CentOS7搭建Docker私有倉庫----Docker

服務 tar 由於 安全 lib mage 本地倉庫 用戶 鏡像

有時候使用Docker Hub這樣的公共倉庫可能不方便,這種情況下用戶可以使用registry創建一個本地倉庫供私人使用,這點跟Maven的管理類似。
目前Docker Registry已經升級到了v2,最新版的Docker已不再支持v1。Registry v2使用Go語言編寫,在性能和安全性上做了很多優化,重新設計了鏡像的存儲格式。如果需要安裝registry v2,只需下載registry:2.2即可。Docker官方提供的工具docker-registry可以用於構建私有的鏡像倉庫。廢話不多說了,下面記錄下Docker私有倉庫構建的過程:

選擇一臺服務器目前使用測試環境(192.168.122.112)作為註冊服務器,用於搭建私有倉庫;另一臺(192.168.122.254)作為docker客戶端使用倉庫拉取鏡像;

1.兩臺均需要安裝docker並啟動: yum -y install docker && systemctl start docker

2.註冊服務器上從Docker官方倉庫下載registry鏡像,默認下載最新鏡像 技術分享

3.基於私有倉庫鏡像運行容器(一定要換成/var/lib/registry,否則本地倉庫沒有內容)

技術分享

4.訪問私有倉庫

curl http://192.168.122.112:5000/v2/_catalog

5.由於上傳默認使用https,在沒有證書的情況下,我們需要修改docker配置文件添加以下內容(/etc/sysconfig/docker)並重啟容器:

ADD_REGISTRY=‘--insecure-registry 192.168.122.151:5000‘

技術分享

6.上傳鏡像驗證:

技術分享

7.如果需要使用用戶權限上傳的,可以註冊用戶:

8.添加用戶(賬號:felix,密碼felix) 並重新啟動私有倉庫:

技術分享

9.再次上傳鏡像

技術分享

10.另一臺服務器上登陸測試拉取倉庫鏡像(註意使用https,更改docker配置文件,並重啟docker)

技術分享

11:錯誤排查 ‘/sbin/iptables -t nat -A DOCKER -p tcp -d 0/0 --dport 8111 -j DNAT --to-destination 172.17.0.6:8111 ! -i docker0‘ failed: iptables: No chain/target/match by that name.

pkill docker

iptables -t nat -F

ifconfig docker0 down

brctl delbr docker0

重啟docker後解決

CentOS7搭建Docker私有倉庫----Docker