一、引言
最近要搭建一个 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镜像上去。