中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行docker?registry?私有倉庫的搭建

發布時間:2022-01-11 15:39:18 來源:億速云 閱讀:154 作者:柒染 欄目:開發技術

這期內容當中小編將會給大家帶來有關如何進行docker registry 私有倉庫的搭建,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

摘要

隨著docker使用的鏡像越來越多,就需要有一個保存鏡像的地方,這就是倉庫。目前常用的兩種倉庫:公共倉庫和私有倉庫。最方便的就是使用公共倉庫上傳和下載,下載公共倉庫的鏡像是不需要注冊的,但是上傳時,是需要注冊的。私有倉庫最常用的就是Registry、Harbor兩種,那接下來詳細介紹如何搭建registry私有倉庫。

一、環境準備

兩臺CentOS7.4,一臺為Docker私有倉庫;另一臺為Docker客戶端,測試使用;

二、配置registry私有倉庫

#  <!--docker宿主機開啟路由功能-->
 
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
 
<!--刷新配置-->
 
sysctl -p
 
net.ipv4.ip_forward = 1
 
<!--配置鏡像加速-->
 
vim /etc/docker/daemon.json
 
 <!--添加阿里云加速--> 
 
{"registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]} 
 
<!--重新啟動docker服務-->
 
systemctl reload docker
 
<!--查找registry鏡像-->
 
docker search registry
 
docker pull registry
 
<!--registry鏡像可以直接先pull下來,也可以不下載,根據自己情況而定-->
 
docker run -d -p 5000:5000 --name registry --restart=always -v /opt/registry:/var/lib/registry registry
 
<!--查看docker運行的容器-->
 
docker ps
 
<!--查看docker所有鏡像-->
 
docker images  
 
<!--配置docker服務支持registry服務-->
 
vim /etc/docker/daemon.json 
 
{"registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"],
"insecure-registries":["192.168.100.10:5000"]  <!--添加此行-->
}
 
<!--重新啟動docker服務-->
 
systemctl reload docker 
 
docker info

如何進行docker?registry?私有倉庫的搭建

如何進行docker?registry?私有倉庫的搭建

如何進行docker?registry?私有倉庫的搭建

如何進行docker?registry?私有倉庫的搭建

如何進行docker?registry?私有倉庫的搭建

三、上傳與下載鏡像

# 給鏡像打標簽
 
docker tag mysql 192.168.25.140:5000/mysql
 
# 上傳的鏡像
 
docker push 192.168.25.140:5000/mysql
 
 
<!--客戶端安裝docker服務,配置鏡像加速-->
 
<!--配置docker支持registry服務 -->
 
vim /etc/docker/daemon.json 
 
{"registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"],
"insecure-registries":["192.168.100.10:5000"]  <!--添加此行-->
}
 
<!--重新啟動docker服務-->
 
systemctl restart docker 
 
 <!--客戶端下載私有倉庫中的鏡像-->
 
docker pull 192.168.25.140:5000/mysql 
 
docker images <!--查看鏡像是否下載成功-->

如何進行docker?registry?私有倉庫的搭建

如何進行docker?registry?私有倉庫的搭建

四、配置registry加載身份驗證

但是現在存在一個問題,如果這也部署的話企業內部所有人員皆可訪問我們的私有倉庫,為了安全起見,接下來為registry添加一個身份驗證,只有通過了身份驗證才可以上傳或者下載私有倉庫中的鏡像。

<!--安裝加密工具httpd-tools-->
 
yum -y install httpd-tools  
 
<!--創建存放驗證密鑰目錄-->
 
mkdir /opt/registry-auth
 
<!--配置registry身份驗證數據庫-->
<!--"-Bbn”參數解釋:B強制密碼加密;b在命令中輸入密碼,不提示輸入密碼;n不更新密鑰文件-->
 
htpasswd -Bbn bob pwd@123 > /opt/registry-auth/htpasswd
 
<!--刪除此服務器上的所有容器,接下來重新生成一個需要身份驗證的私有倉庫容器-->
 
 docker run -d -p 5000:5000 --restart=always \
-v /opt/registry-auth/:/auth/ \
-v /opt/registry:/var/lib/registry --name registry-auth -e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" registry 
 
<!--重新運行一個支持身份驗證的registry私有鏡像倉庫容器-->
 
docker tag tomcat:latest 192.168.100.10:5000/image/tomcat:1.0 
 
docker push 192.168.100.10:5000/image/tomcat:1.0
 
<!--測試不通過身份驗證是否可以往私有倉庫上傳鏡像-->
 
<!--提示沒有身份驗證,上傳不了-->
 
no basic auth credentials
 
<!--登錄私有鏡像倉庫,通過身份驗證即可上傳-->
 
docker login 192.168.100.10:5000 
 
Username: bob   <!--輸入bob-->
Password:    <!--輸入密碼-->
 
<!--再次上傳鏡像到私有倉庫-->
 
docker push 192.168.100.10:5000/image/tomcat:1.0 
 
<!--docker客戶端不通過身份驗證直接下載私有倉庫中的鏡像直接被拒絕-->
 
docker pull 192.168.100.10:5000/image/tomcat:1.0
 
Error response from daemon: Get http://192.168.100.10:5000/v2/image/tomcat/manifests/1.0: no basic auth credentials
 
<!--登錄私有倉庫,通過身份驗證-->
docker login 192.168.100.10:5000 
 
Username: bob  <!--輸入bob-->
Password:     <!--輸入密碼-->
 
docker pull 192.168.100.10:5000/image/tomcat:1.0 <!--下載私有倉庫中的鏡像-->
 
<!--查看docker客戶端鏡像-->
 
docker images

五、 docker registry 私有倉庫查詢、刪除

修改tag (以hello-world為例)

拉取鏡像
 
docker pull hello-world
 
修改鏡像
 
docker tag  hello-world  hub.test.com:5000/hello-world:1.0
 
上傳、刪除、再下載鏡像,刪除后能下載成功
 
docker images
 
docker push  hub.test.com:5000/hello-world:1.0
 
docker rmi hub.test.com:5000/hello-world:1.0
 
docker images
 
docker pull  hub.test.com:5000/hello-world:1.0
 
docker images

 查看倉庫鏡像

curl hub.test.com:5000/v2/_catalog

registry開啟刪除

#查看默認配置
docker exec -it  registry sh -c 'cat /etc/docker/registry/config.yml'
#開啟刪除(添加  delete: enabled: true)
docker exec -it  registry sh -c "sed -i '/storage:/a\  delete:' /etc/docker/registry/config.yml"
docker exec -it  registry sh -c "sed -i '/delete:/a\    enabled: true' /etc/docker/registry/config.yml"
#重啟
docker restart registry

查詢、刪除鏡像 

#查詢鏡像
curl  <倉庫地址>/v2/_catalog
 
#查詢鏡像tag(版本)
curl  <倉庫地址>/v2/<鏡像名>/tags/list
 
#刪除鏡像API
curl -I -X DELETE "<倉庫地址>/v2/<鏡像名>/manifests/<鏡像digest_hash>"
 
#獲取鏡像digest_hash
curl  <倉庫地址>/v2/<鏡像名>/manifests/<tag> \
    --header "Accept: application/vnd.docker.distribution.manifest.v2+json"

上述就是小編為大家分享的如何進行docker registry 私有倉庫的搭建了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜丰县| 柳林县| 夏河县| 寿阳县| 蓝山县| 江西省| 湟中县| 邯郸市| 唐河县| 三门峡市| 格尔木市| 庄河市| 建阳市| 汝城县| 南川市| 宝兴县| 克东县| 无极县| 禄劝| 江孜县| 三穗县| 彭州市| 沂南县| 南阳市| 汉阴县| 汝阳县| 宕昌县| 县级市| 博罗县| 宝坻区| 和平县| 大关县| 苏州市| 田东县| 英吉沙县| 龙口市| 古蔺县| 凯里市| 尼勒克县| 葵青区| 阿克陶县|