在Ubuntu上使用Ubuntu Artwork的Docker容器中的DNSparsing

这篇文章解决了我发现的一个问题 – 所以我希望别人会觉得它有用。

使用AWS Ubuntu Zesty – 17.04 – 使用Ansible和Terraform安装了Docker的图像很直接,但是到了Ubuntu Artful – 17.10,无论我安装了哪个版本的Docker,容器启动都无法parsingDNS。

经过大量的testing后,在我看来,主机是通过错误的DNS服务器进入容器内的resolv.conf – 所以它永远不会工作。

解决scheme:

对于systemd和docker,更改守护程序设置的首选方法是在/ etc / docker中创build一个名为daemon.json的新文件。

在该文件中添加以下内容以使其使用AWS VPC默认DNSparsing器 – 10.0.0.2 – 就像这样

{ "dns": ["10.0.0.2"] } 

重新启动docker守护进程,容器现在可以parsingDNS。 可能有其他方法可以解决这个问题,但是这个工作是完美的,并且使用了docker社区首选的方法。

我希望这能帮助那些可能遇到这个问题的人。

其他设置可以在这个文件中find。 Dockerd设置文档