一、引言
最近要搭建一個 docker 的私人鏡像庫,這本身並沒有什麼難的。只要照着網上的教程一步一步配置就行了。但是很多人的docker環境是Docker Toolbox搭建的,裏面很多配置和網上參考的不一樣。
二、問題
現在所遇到的問題是,當很多人配置好了 docker 私有鏡像庫的環境,準備上傳的時候,會出現這種情況。
The push refers to repository [192.168.0.1:8080/busybox]
Get https://192.168.0.1:8080/v2/: http: server gave HTTP response to HTTPS client
就是讓你使用https才能push鏡像上去,而很多博客裏面是 linux 環境docker的解法方法,可以直接進入到 /etc/docker/daemon.json 中添加 insecure-registries 解決。可是Docker Toolbox卻不是這樣的。
三、解決
- 打開 Docker Quickstart Terminal ,輸入下述命令進入默認的 docker 中:
docker-machine ssh default
- 進入了虛擬docker中後,編輯 /var/lib/boot2docker/profile 中的 EXTRA_ARGS :
vi /var/lib/boot2docker/profile
- 在 --label provider=virtualbox 的下一行添加如下信息:
–insecure-registry 192.168.0.1:8080
將上面的地址改爲你的私有鏡像倉庫的 ip 地址和端口
- 最後重啓 docker 服務,在windos命令下輸入:
docker-machine restart
docker 服務重啓後,再執行我們的提交鏡像的命令即可成功push鏡像上去。