Docker镜像dns probem,名字解决失败

当我运行一个最新的Ubuntu镜像作为一个容器,它的apt-get更新失败。

它向我展示了一个“临时失败解除”archive.ubuntu.com“”。

然后我试着如下解决scheme

回声“91.189.92.201 archive.ubuntu.com”>> / etc / hosts

但这只能用于“archive.ubuntu.com”,只能用一次,解决不了其他名称。

如果我想要容器链接任何网站,我需要做类似的工作,如上所述添加网站的IP地址和名称/ etc / hosts /

我怀疑这是一个DNS问题,所以我尝试了下面的解决scheme。

在这里input图像说明

通过添加“DOCKER_OPTS =” – dns –dns“,结果就像我想要的一样。

在这里input图像说明

我想在Ubuntu Docker的容器可以连接到每个网站,我认为这将是一个问题,容器没有能力来parsing网站的名称。

我search了stockoverflow并尝试了一些已知的解决scheme,但仍然没有成功。 如果你遇到类似的问题,但回答我的解决scheme,非常感谢。

1.请确保您可以访问docker主机本身的8.8.8.8。如果不能,请将8.8.8.8更改为有效的DNS服务器地址。 2.检查iptables。 iptables-save应该有一条规则:iptables -t nat -A POSTROUTING -o docker0 -j MASQUERADE启用容器SNAT和DNAT。