默认的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 服务器添加一个新的
-dns x.x.x.x
。
完成此操作后,您将需要重新启动 Docker 进程。这可以通过几种方式完成,具体取决于主机。对于基于 Debian 的主机:
service docker.io restart
当您
docker run
一个新容器时,它将设置这些 DNS 服务器。