dial tcp: lookup xxx.xxx.xxx.xxx: no such host
Posted
技术标签:
【中文标题】dial tcp: lookup xxx.xxx.xxx.xxx: no such host【英文标题】: 【发布时间】:2016-02-26 20:44:33 【问题描述】:尝试将 docker 映像推送到私有 docker 存储库。但出现错误,例如:""
。
我已正确登录到存储库并构建成功。
以下命令用于将图片推送到私有repo:
sud docker push x.x.x.x:446/dns/graphs
【问题讨论】:
【参考方案1】:在/etc/resolv.conf
文件中编辑 DNS 名称服务器对我有帮助。
将您现有的名称服务器更改为 google 名称服务器,即 x.x.x.x 更改为 8.8.8.8
评论您的域名服务器 IP 并添加如下内容:
#nameserver x.x.x.x
nameserver 8.8.8.8
应该可以。
【讨论】:
确实有效……谢谢。知道为什么 Google Cloud Shell 配置了与 8.8.8.8 不同的名称服务器吗?在resolve.conf中配置的nameserver默认是不可达的。 Google 公共 DNS 简介:developers.google.com/speed/public-dns/docs/intro【参考方案2】:如果您使用代理,这可能是您的问题。在这种情况下,您需要配置 Docker 守护程序(而不是客户端)代理设置。你可以这样做:
-
为 docker 服务创建一个 systemd 插入目录:
sudo mkdir -p /etc/systemd/system/docker.service.d
创建一个名为 /etc/systemd/system/docker.service.d/http-proxy.conf 的文件,其中添加了 HTTP_PROXY 环境变量:
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"
刷新更改
sudo systemctl daemon-reload
重启 docker 守护进程
sudo systemctl restart docker
参考:Docker documentation。
【讨论】:
【参考方案3】:您用于私人仓库的域名似乎已过期,这就是它无法通过全球 DNS 8.8.8.8 解析的原因。请咨询您的域名提供商。
【讨论】:
以上是关于dial tcp: lookup xxx.xxx.xxx.xxx: no such host的主要内容,如果未能解决你的问题,请参考以下文章