- 關於創建docker私人倉庫
1.1. 安裝步驟
1.1.1. 直接從公共庫上面下載register鏡像在本地執行
1.1.1.1. 命令:docker run -d -p 5000:5000 --name registry -v /opt/data/registry:/tmp/registry registry
1.2. 關於push的失敗
1.2.1. 提示:http: server gave HTTP response to HTTPS client
原因:docker push使用的是https,而私人倉庫默認的是http
1.2.2. 排錯
1.2.2.1. 在服務端的/etc/init/docker.conf和/etc/default/docker上面配置“--insecure-registry 172.16.40.203:5000”均無效
1.2.2.2. 多次試驗無果之后嘗試新的方法,因為了解了docker運行的和心原理。最后只在客戶端的/etc/docker目錄下添加一個json文件,daemon.json,然后成功。
{
"insecure-registries": ["172.16.40.203:5000"]
}
1.3. 在私人倉庫里面搜索鏡像也出錯:Unexpected status code 404 #搜索docker鏡像的時候返回404錯誤,找不到鏡像。
1.3.1. 查看官方文檔,當前版本不支持搜索,可以利用V2版本嘗試。
1.3.1.1. docker run -d -p 5000:5000 --name registry -v /opt/data/registry:/tmp/registry registry:2
1.3.2. 還是不能提供搜索功能,同樣不能搜索,還是一樣的錯誤。官方文檔說的是,可以支持API。嘗試一下
1.3.2.1. 搜索列表示例:http://172.16.40.203:5000/v2/_catalog
1.3.2.2. 搜索標簽列表:http://172.16.40.203:5000/v2/smokeping/tags/list
探究了兩天的私人倉庫終於能用起來了,期間遇到了不少問題,通過查看官方文檔解決,就沒有一一記錄下來了。徹底針對使用國外docker倉庫特別慢的問題,同時保證了鏡像的安全性,公共的docker倉庫只能設置一個為私有,其他都必須公開,很容易泄露一些工作上忌諱的東西。聽說在阿里雲的雲棲大會上docker官方和阿里雲達成合作,在中國創建國內的docker公共倉庫。功能上,我們拭目以待。但是,自己擁有私人倉庫,才有資本去拭目去等待。沒有認證的私人倉庫是入門的,真正應用到日常的那個工作中的私人倉庫還需要后續再寫文章實現認證功能,保障安全。