我的国家防火墙屏蔽了默认的DNS 8.8.8.8和8.8.4.4,但我不想停止容器,因为我在其中安装了很多软件。
我的国家防火墙屏蔽了默认的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服务器。