docker搭建私有仓库
緊接上一篇鏡像發(fā)布到官方之后,我們來搭建我們自己的私有倉庫,比較,如果真的要在生產(chǎn)環(huán)境使用的話,這是必須的。
首先,我們來準(zhǔn)備一下搭建私有倉庫所需要的信息。
緊接著,registry需要https運行環(huán)境,所以來生成我們自己的證書(簡單說明一下,目前的registry版本是2,之前的1是支持非ssl的,docker在0.9以下。)
先交代一下環(huán)境:物理機(jī)是win10,使用hyper-v 虛擬一個cenots(ip:192.168.50.2)作為我們的docker host。使用內(nèi)部網(wǎng)絡(luò),物理機(jī)共享本地網(wǎng)絡(luò)方式連接上網(wǎng)。私有倉庫使用域名local.registry.docker.com,端口:3075。
網(wǎng)絡(luò)環(huán)境還不錯的情況下,這個時候pull registry應(yīng)該也已經(jīng)完成了。那......
然后,把我們的 私有倉庫跑起來先
解釋一下參數(shù):
-d:表示容器后臺運行
-p:端口映射
--restart=always:可以理解為開機(jī)啟動。開機(jī):就是啟動docker客戶端拉。
--name registry:給容器取一個名字,方便識別和記憶
-v:掛在本地文件到容器中。命令格式:hostdir:cdir[:rw|ro] 主機(jī)目錄:容器目錄[:讀寫權(quán)限]
-v pwd/auth:/auth:掛在本地的密碼文件夾
-v pwd/certs:/certs:掛在本地的ssl證書文件夾
-e:設(shè)置環(huán)境變量參數(shù)
-e REGISTRY_AUTH:驗證方式
-e REGISTRY_AUTH_HTPASSWD_REALM:驗證域名
-e REGISTRY_AUTH_HTPASSWD_PATH:密碼文件路徑
-e REGISTRY_HTTP_TLS_CERTIFICATE:ssl證書文件路徑
-e REGISTRY_HTTP_TLS_KEY:ssl證書文件路徑
最后的registry則是鏡像的名字了。具體參數(shù)什么的,可以參考registry官方文檔地址
centos docker客戶端配置私有倉庫信任
windows配置私有倉庫
在然后,登錄到私有倉庫

在在然后,吧我們剛才的hello world項目push到我們的本地倉庫
docker tag imageid imagename:給鏡像打個tag,然后push這個tag到本地倉庫。
在在在然后,把我們的私有倉庫的hello world跑起來
在在在在然后,在文章的最后,我們在裝一個私有倉庫web ui瀏覽工具(hyper/docker-registry-web):
本來想安裝一個web ui管理工具:konradkleine/docker-registry-frontend,但是......,奈何......啟動提示 no mpm loaded 錯誤。詳見問題描述及解決辦法https://github.com/kwk/docker-registry-frontend/issues/88。不想折騰了,索性安裝另外一個web ui 瀏覽工具
話說web ui還是有好幾個的,排在最前面的3個ui鏡像,第一個安裝有錯誤,要特殊處理,那我們就安裝第二個好了......
安裝腳本參數(shù)解釋
--link registry:容器之間建立聯(lián)系,個人猜測,起始不需要,因為沒用到.......
-e REGISTRY_BASIC_AUTH:連接到私有倉庫的賬號密碼base64結(jié)果(base64(username:password))。所以為什么倉庫為什么要選擇htpasswd驗證方式了。
-e REGISTRY_TRUST_ANY_SSL:忽略ssl錯誤,因為我們用的是自簽名的ssl證書
-e REGISTRY_URL:倉庫訪問地址
-e REGISTRY_NAME:倉庫名
--add-host local.registry.docker.com:192.168.50.2:增加一條本地host。指示對我們local.registry.docker.com的訪問解析到我們的docker host機(jī)器上,這樣,在我們的web ui容器中訪問我們的私有倉庫地址時,才能正確解析。
這幾天的學(xué)習(xí)和折騰就暫時到這里了,后續(xù)在研究一下docker-compose容器編排和自動構(gòu)建部署。
總結(jié)
以上是生活随笔為你收集整理的docker搭建私有仓库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP超时问题
- 下一篇: form表单间接提交方法