安裝私有鏡像倉庫
-
下載Registry的Docker鏡像
docker pull registry:2
-
使用Docker容器運行Registry服務,需要添加環境變量
REGISTRY_STORAGE_DELETE_ENABLED=true
開啟刪除鏡像的功能;
docker run -p 5000:5000 --name registry2 \
--restart=always \
-e REGISTRY_STORAGE_DELETE_ENABLED="true" \
-d registry:2
-
修改Docker Daemon的配置文件,文件位置為
/etc/docker/daemon.json
,由於Docker默認使用HTTPS推送鏡像,而我們的鏡像倉庫沒有支持,所以需要添加如下配置,改為使用HTTP推送;
{
"insecure-registries": ["192.168.3.101:5000"]
}
-
最后使用如下命令重啟Docker服務。
systemctl daemon-reload && systemctl restart docker
鏡像倉庫可視化
-
由於私有鏡像倉庫管理比較麻煩,而docker-registry-ui有專門的頁面可以方便地管理鏡像,所以我們安裝它來管理私有鏡像倉庫。
-
下載docker-registry-ui的Docker鏡像;
docker pull joxit/docker-registry-ui:1.5-static
-
使用Docker容器運行docker-registry-ui服務;
docker run -p 8280:80 --name registry-ui \
--link registry2:registry2 \
-e REGISTRY_URL="http://registry2:5000" \
-e DELETE_IMAGES="true" \
-e REGISTRY_TITLE="Registry2" \
-d joxit/docker-registry-ui:1.5-static
-
測試私有鏡像倉庫是否可用,首先下載一個測試用的鏡像busybox;
docker pull busybox
-
給鏡像busybox打上私有倉庫的標簽,並設置版本為v1.0;
docker tag busybox 192.168.3.101:5000/busybox:v1.0
-
之后推送到私有鏡像倉庫去;
docker push 192.168.3.101:5000/busybox:v1.0
-
訪問docker-registry-ui管理界面,即可查看到busybox鏡像,地址:http://192.168.3.101:8280