在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