為了更好的管理鏡像,docker搭建私有倉庫
分類:虛機資訊
編輯:
瀏覽量:100
2021-07-23 14:08:52
??docker倉庫進行鏡像的發布和管理,倉庫一般分為公有倉庫和私有倉庫,例如Docker Hub,但是很多公司為了提高訪問效率和安全性的考量,一般會搭建自己的私有倉庫。今天我們來教大家怎么搭建自己的私有倉庫。這就是Docker公司為我們提供的公共倉庫。在工作中,我們不可能把企業項目push到公有倉庫進行管理。所以為了更好的管理鏡像,Docker不僅提供了一個中央倉庫,同時也允許我們搭建本地私有倉庫。這里介紹registry、harbor兩種私有倉庫搭建。下面就由新網小編和大家講一講docker搭建私有倉庫。
??一、注冊登錄
??在命令行執行docker login輸入用戶名及密碼來完成在命令行界面登記Docker Hub。你可以通過docker logout退出登錄。
??二、方法/步驟
??1、使用命令docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry:2來創建倉庫容器,搭建完成倉庫服務。由于本地沒有registry鏡像,首先會從倉庫中心拉取registry鏡像,然后創建容器,在本地啟動了一個5000端口的私有倉庫服務。
??2、docker images | grep registry命令可以查詢到倉庫的鏡像,docker ps | grep registry看到倉庫服務運行正常
??3、我們搭建倉庫的地址是10.199.137.114,我們準備另外一臺機器10.199.137.115,將115上進行測試上傳和下載鏡像,驗證我們搭建的倉庫是否能正常使用,將我們的容器tag標記為10.199.137.114:5000/test
??4、使用docker push命令上傳我們標記的容器
??[root@hz-ds-learn-199-137-115 ~]# docker push 10.199.137.114:5000/test
??The push refers to a repository [10.199.137.114:5000/test]
??Get https://10.199.137.114:5000/v1/_ping: http: server gave HTTP response to HTTPS client
??當前docker版本對安全性要求較高,要求倉庫支持ssl/TLS證書,所以報錯
??5、在docker的配置文件/etc/docker/daemon.json中加入如下參數
??{"insecure-registries":["10.199.137.114:5000"]},然后重啟容器服務生效
??systemctl restart docker 重啟服務
??6、使用docker push 10.199.137.114:5000/test命令再次上傳,已經不再報錯
??使用curl http://10.199.137.114:5000/v2/search
??7、從私有倉庫下載鏡像,測試正常(http: server gave HTTP response to HTTPS client客戶端需要支持http)
??docker pull 10.199.137.114:5000/test
??三、harbor 的搭建
??docker 官方提供的私有倉庫 registry,用起來雖然簡單 ,但在管理的功能上存在不足。 Harbor是一個用于存儲和分發Docker鏡像的企業級Registry服務器,harbor使用的是官方的docker registry(v2命名是distribution)服務去完成。harbor在docker distribution的基礎上增加了一些安全、訪問控制、管理的功能以滿足企業對于鏡像倉庫的需求。
??如果不想使用127.0.0.1:5000作為倉庫地址,比如想讓本網段的其他主機也能把鏡像推送到私有倉庫。你就得把例如192.168.1.1:5000這樣的內網地址作為私有倉庫地址,這時你會發現無法成功推送鏡像。小伙伴們要想獲得更多docker搭建私有倉庫的內容,請關注新網!
??一、注冊登錄
??在命令行執行docker login輸入用戶名及密碼來完成在命令行界面登記Docker Hub。你可以通過docker logout退出登錄。
??二、方法/步驟
??1、使用命令docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry:2來創建倉庫容器,搭建完成倉庫服務。由于本地沒有registry鏡像,首先會從倉庫中心拉取registry鏡像,然后創建容器,在本地啟動了一個5000端口的私有倉庫服務。
??2、docker images | grep registry命令可以查詢到倉庫的鏡像,docker ps | grep registry看到倉庫服務運行正常
??3、我們搭建倉庫的地址是10.199.137.114,我們準備另外一臺機器10.199.137.115,將115上進行測試上傳和下載鏡像,驗證我們搭建的倉庫是否能正常使用,將我們的容器tag標記為10.199.137.114:5000/test
??4、使用docker push命令上傳我們標記的容器
??[root@hz-ds-learn-199-137-115 ~]# docker push 10.199.137.114:5000/test
??The push refers to a repository [10.199.137.114:5000/test]
??Get https://10.199.137.114:5000/v1/_ping: http: server gave HTTP response to HTTPS client
??當前docker版本對安全性要求較高,要求倉庫支持ssl/TLS證書,所以報錯
??5、在docker的配置文件/etc/docker/daemon.json中加入如下參數
??{"insecure-registries":["10.199.137.114:5000"]},然后重啟容器服務生效
??systemctl restart docker 重啟服務
??6、使用docker push 10.199.137.114:5000/test命令再次上傳,已經不再報錯
??使用curl http://10.199.137.114:5000/v2/search
??7、從私有倉庫下載鏡像,測試正常(http: server gave HTTP response to HTTPS client客戶端需要支持http)
??docker pull 10.199.137.114:5000/test
??三、harbor 的搭建
??docker 官方提供的私有倉庫 registry,用起來雖然簡單 ,但在管理的功能上存在不足。 Harbor是一個用于存儲和分發Docker鏡像的企業級Registry服務器,harbor使用的是官方的docker registry(v2命名是distribution)服務去完成。harbor在docker distribution的基礎上增加了一些安全、訪問控制、管理的功能以滿足企業對于鏡像倉庫的需求。
??如果不想使用127.0.0.1:5000作為倉庫地址,比如想讓本網段的其他主機也能把鏡像推送到私有倉庫。你就得把例如192.168.1.1:5000這樣的內網地址作為私有倉庫地址,這時你會發現無法成功推送鏡像。小伙伴們要想獲得更多docker搭建私有倉庫的內容,請關注新網!
聲明:免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發
送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創內容未經允許不得轉載,或轉載時
需注明出處:新網idc知識百科