docker倉庫管理以及搭建
docker倉庫管理和容器連接配接
-
是什麼?
-
倉庫就類似于我們在網上搜尋作業系統CD光牒的一個鏡像站。
這裡的倉庫指的是Docker鏡像存儲的地方。
注冊
在 https://hub.docker.com 免費注冊一個 Docker 賬号。
-
-
docker倉庫
- 公有:Docker hub、Docker cloud、等
- 私有:registry、harbor等
- 本地:在目前主機存儲鏡像的地方
-
相關操作
-
docker login [倉庫名稱]
docker pull [鏡像名稱]
docker push [鏡像名稱]
docker search [鏡像名稱]
-
-
私有倉庫部署(registry)
-
建立倉庫流程
- 根據registry鏡像建立容器
- 配置倉庫權限
- 送出鏡像到私有倉庫
- 測試
docker倉庫管理以及搭建 - 不浮泛
-
實施方案
-
下載下傳registry官方鏡像
docker pull registry -
啟動倉庫容器,用于提供私有倉庫服務
docker run -d -p 5000:5000 registry -
檢查容器效果,此時倉庫已搭建完畢。可以在本地或區域網路内其他機器進行檢視倉庫内鏡像(将ip改一下)
curl 127.0.0.1:5000/v2/_catalog -
配置容器權限
- 預設情況下,該倉庫是使用http去通路的,而docker用戶端使用的是https去通路。不修改用戶端配置,直接從私有倉庫下載下傳鏡像會報錯
vim /etc/docker/daemon.json
{"registry-mirrors": ["http://74f21445.m.daocloud.io"], "insecure-registries": ["192.168.205.183:5000"]}
注意:
私有倉庫的ip位址是主控端的ip,而且ip兩側有雙引号
-
docker倉庫管理以及搭建 - 不浮泛 -
-
重新開機docker服務
- 結果報錯如下,原因是修改配置寫錯
-
效果檢視
啟動容器
docker restart 571db56f7f77标記鏡像
注意需将鏡像名稱重命名為:倉庫ip+端口+鏡像名稱的形式。否則會push倉庫不成功
docker tag registry 192.168.205.183:5000/sub-registry
送出鏡像到私有倉庫
[root@rbtnode1 ~]# docker push 192.168.205.183:5000/sub-registry驗證檢視是否送出成功
[root@rbtnode1 ~]# curl -X GET http://192.168.205.183:5000/v2/_catalog
{"repositories":["sub-registry"]}
a、若在啟動時沒有作資料卷挂載,則需進入到容器的/var/lib/registry檢視
b、若在啟動時,作了資料卷挂載,則可以直接在倉庫伺服器本地檢視。建議需作資料卷挂載,一方面倉庫容器意外被銷毀時,本地可以有備份。另一方面,參看也相對簡單
從私有倉庫下載下傳鏡像
[root@rbtnode1 ~]# docker pull 192.168.205.183:5000/sub-registry