无法将映像推送到 Docker Hub 注册表

Unable to push image to Docker Hub registry

我是 Docker 的新手,我正在尝试学习 Docker 的 入门 教程。我在 Ubuntu 17.04 下使用 Docker 17.05-ce。问题似乎与网络有关。当我尝试推送时,我得到以下结果:

jonathan@poseidon:~/DockerTest$ sudo docker push jgossage/get-started:part1
The push refers to a repository [docker.io/jgossage/get-started]
1770f1c9a8cf: Pushed 
61fd1d8cd138: Pushed 
e0f735a5e86f: Layer already exists 
1de570a07fb5: Pushed 
b3640b6d4ac2: Layer already exists 
08d4c9ccebfd: Pushed 
007ab444b234: Retrying in 1 second 
dial tcp: lookup registry-1.docker.io on 127.0.0.53:53: dial udp 127.0.0.53:53: i/o timeout
jonathan@poseidon:~/DockerTest$ sudo docker logs 58e8df0a7426
 * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
172.17.0.1 - - [20/Jun/2017 15:12:24] "GET / HTTP/1.1" 200 -

172.17.0.1 - - [20/Jun/2017 15:13:17] "GET / HTTP/1.1" 200 -

推送 运行s 一段时间,在超时之前重试几次。

这是在家庭网络上,其中一台计算机通过 WiFi 连接到路由器,然后通过普通 TCP 连接到我的 ISP 和互联网。我可以采取哪些步骤来使 Docker 运行 可靠?

看起来像是一个与此类似的 DNS 问题:https://forums.docker.com/t/fata-0025-io-timeout-on-docker-image-push/1742/9

建议将您当前的 DNS (127.0.0.53) 替换为 Google DNS (8.8.8.8)。

我不确定是否有关于此问题的未解决问题。我找不到一个。

我通过用第三方实现替换标准 DNS 缓存和解析 DNS 服务器解决了这个问题 unboundfollowing web page 包含在文档末尾执行此操作的完整说明。正如其他人所建议的那样,更改为使用 public Google DNS 服务器

是个好主意