默认的 dns 8.8.8.8 和 8.8.4.4 被我国家的防火墙屏蔽了,我不想停止容器,因为我在里面安装了很多软件。
最佳答案
如果您想更改 DNS,您可以按照在普通主机上的相同方式进行,这应该可以正常工作。例如编辑 /etc/resolv.conf
容器中的文件。
虽然如果它被完全阻止,我会推荐一个更永久的解决方案。
在 /etc/default/docker
(在基于 Debian 的主机上可能是 /etc/default/docker.io
)您可以添加一行以在新容器上设置默认 DNS。这条线看起来像
DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4"
您可以添加一个新的
-dns x.x.x.x
对于您希望用于解析的每个 DNS 服务器。完成此操作后,您将需要重新启动 Docker 进程。这再次取决于主机以几种方式完成。对于基于 Debian 的主机:
service docker.io restart
当您
docker run
一个新容器,它将设置这些 DNS 服务器。
关于docker - 如何更改正在运行的 docker 容器的 dns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25052545/