在Docker中将文件推入私有registry
我已经build立了使用docker run -t -i -p 5000:5000 registry
的私人registry,它可以从192.168.59.103:5000 (我正在使用boot2docker )访问。 现在我已经拉了一个图像tutum / tomcat ,当我试图推动图像( docker push 192.168.59.103:5000/tomcat
)到registry后,将其标记为192.168.59.103:5000/tomcat我面临以下错误,如图所示下面 –
FATA[0004] Error: v1 ping attempt failed with error: Get https://192.168.59.103:5000/v1/_ping: EOF. If this private regi stry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 192.168.59.103:5000` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag ; simply place the CA certificate at /etc/docker/certs.d/192.168.59.103:5000/ca.crt
从其他post –
我已经读了一些关于这个post,他们说,添加DOCKER_OPTS将解决这个问题,它应该被添加到/ etc / default / docker,但在我的系统/ etc / default中不包含docker文件夹命令sudo ls /etc/default/
它提供结果作为sungle文件夹aufs 。
另一篇文章指出,这可以通过简单地放置证书att /etc/docker/certs.d/192.168.59.103:5000/ca.crt,但我不能移动到docker目录,即使当我使用sudo下面 – 为cd /etc/docker
-sh: cd: can't cd to /etc/docker
我已经重复了相同的过程使用registryIP 0.0.0.0:5000内部docker(假设$boot2docker ip
应该在主机中使用,而不是在docker) – 但仍然没有解决问题我正面临着
请帮我解决这个问题。 我已经在下面添加了系统规范 –
系统规格:
Microsoft Windows 7 via. boot2docker (CLI version 1.5) Client version: 1.5.0 Client API version: 1.17 Go version (client): go1.4.1 Git commit (client): a8a31ef OS/Arch (client): linux/amd64 Server version: 1.5.0 Server API version: 1.17 Go version (server): go1.4.1 Git commit (server): a8a31ef
要使用--insecure-registry
选项,请将其添加到boot2docker虚拟机内的文件/var/lib/boot2docker/profile
。 你可以用boot2docker ssh
进入虚拟机。 文件内容应该如下所示:
EXTRA_ARGS="--insecure-registry REGISTRY_IP:PORT"
您将需要重新启动boot2docker(例如boot2docker restart
)。
我不知道为什么你不能编辑/etc/docker
。 以下为我工作:
docker@boot2docker:~$ sudo ls /etc/docker key.json