docker - 如何更改正在运行的 docker 容器的 dns

标签 docker boot2docker

默认的 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/

相关文章:

php - PHP-docker容器中的环境变量

azure - 如何在Azure Kubernetes服务部署期间修改默认Docker基本镜像

Docker exec命令不使用/的挂载目录

python - 为什么 'fig build'返回:AttributeError: 'WrappedSocket'对象没有属性 'recvfrom'?

windows - docker 错误 : Container command not found or does not exist when running from Win10

docker - 错误: Link is not supported in GitLab CI/CD Pipeline when Executing an Image as an Container

networking - Docker覆盖网络无法清理已删除的容器

docker - 无法从中国连接到docker hub

docker - 将文件推送到 Docker 中的私有(private)注册表中

docker - boot2docker 主机绑定(bind)挂载卷大小限制为 1.8 GB