小编典典

Docker apt-get更新失败

docker

有人可以帮我在Docker容器中轻松工作吗?每当我尝试在Docker容器中运行任何apt-get命令时,该命令都会失败。我正在运行Docker
1.1.1版,在Ubuntu 12.04上构建bd609d2。

当我做

$ sudo docker run -i -t ubuntu:14.04 /bin/bash
# apt-get update

我说错了

无法解析“ archive.ubuntu.com

我试图取消注释/ etc / default / docker下面的行

DOCKER_OPTS =“-dns 8.8.8.8 –dns 8.8.4.4”

但我仍然无法ping google.com

ping:未知主机

我确认该容器正在使用dns服务器8.8.8.8和8.8.4.4

root @ 0baa87fc6322:/#cat /etc/resolv.conf

域名服务器8.8.8.8

域名服务器8.8.4.4

而且我能够ping通这两个服务器,因此我很确定防火墙不仅会丢弃我的数据包。

任何帮助,将不胜感激!

谢谢!


阅读 1486

收藏
2020-06-17

共1个答案

小编典典

感谢你的帮助!我发现这是DNS问题,这是由于防火墙引起的。搜索更多后,我发现在搜索“ docker apt-get fail”时找不到该问题

Docker-在企业网络上构建映像期间网络调用失败

他的问题类似于我的问题,该解决方案帮助我使其正常运行。我已将他的解决方案复制给以后发现此问题的任何人。

这些Google服务器无法从防火墙后面访问,这就是为什么我们无法解析任何URL的原因。

解决方法是告诉Docker使用哪个DNS服务器。此修补程序取决于您如何安装Docker:Ubuntu软件包

如果您已安装Ubuntu软件包,请编辑/ etc / default / docker并添加以下行:

DOCKER_OPTS =“-dns <您的dns_server_1> --dns <您的dns_server_2>”

您可以在此配置中添加任意数量的DNS服务器。编辑完此文件后,您将要重新启动Docker服务:

sudo服务docker重新启动

二进制文件

如果您已经通过binaries方法安装了Docker(即没有软件包),那么在启动Docker守护程序时就设置了DNS服务器:

须藤码头工人-d -D –dns –dns&

2020-06-17