如何configurationDocker的Windows推送使用主机文件的存储库

我试图从我的本地开发箱到我的Windows主机文件中设置主机名远程私人存储库的容器。 当我推我得到这个:

docker push docker:5000/m2 The push refers to a repository [docker:5000/m2] Put http://docker:5000/v1/repositories/m2/: dial tcp: lookup docker on 192.168.65.1:53: no such host 

如果我使用babun在URL上执行curl -vvv,我会得到:

 curl -vvv http://docker:5000/v1/repositories/m2/ * STATE: INIT => CONNECT handle 0x20048188; line 1034 (connection #-5000) * Added connection 0. The cache now contains 1 members * Trying 192.168.1.8... * STATE: CONNECT => WAITCONNECT handle 0x20048188; line 1087 (connection #0) * Connected to docker (192.168.1.8) port 5000 (#0) * STATE: WAITCONNECT => DO handle 0x20048188; line 1229 (connection #0) > GET /v1/repositories/m2/ HTTP/1.1 > User-Agent: Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US)) > Host: docker:5000 > Accept: */* > * STATE: DO => DO_DONE handle 0x20048188; line 1314 (connection #0) * STATE: DO_DONE => WAITPERFORM handle 0x20048188; line 1441 (connection #0) * STATE: WAITPERFORM => PERFORM handle 0x20048188; line 1454 (connection #0) * Increasing bytecount by 7 from hbuflen * nread <= 0, server closed connection, bailing * STATE: PERFORM => DONE handle 0x20048188; line 1626 (connection #0) * Connection #0 to host docker left intact * Expire cleared 

由于我在本地获取错误消息,但不是当我使用curl,并给出错误消息时,似乎我的本地Windows泊坞窗实例不parsing为docker主机名。

Docker在远程docker守护进程上执行推送,而不是本地docker客户端,这意味着DNSparsing需要在该系统上工作。 这还包括任何代理设置。 还有一个最近的错误,至less影响了Docker for Mac,也可能是Windows,它没有使用本地DNS服务器。 我相信已经在1.13.1中修复了,但我已经通过在/ etc / hosts文件中添加了我需要的条目(我相信windows仍然把它放在system32 \ drivers \ etc下)。

请注意,在Windows主机上更改DNS设置以使名称parsing正常工作之后,可能需要重新启动docker守护进程以使embedded式虚拟机重新启动并进行这些更改。

Interesting Posts