配置Docker守护进程DNS服务器 | AI生成和翻译

Home 2025.10

要为 Docker 守护进程配置 DNS 服务器(容器将默认使用该配置,除非在容器级别被覆盖),您可以编辑 /etc/docker/daemon.json 文件。该文件允许您自定义 Docker 的运行时行为。

配置 DNS 的步骤

  1. 编辑 daemon.json 文件
    • 如果文件不存在,请使用 root 权限创建(例如使用 sudo nano /etc/docker/daemon.json 或您偏好的编辑器)。
    • 添加或更新 dns 键,将其设置为 DNS 服务器的 IP 地址数组。例如,要使用 Google 的公共 DNS(8.8.8.8 和 8.8.4.4):

      {
        "dns": ["8.8.8.8", "8.8.4.4"]
      }
      
      • 如果需要,您可以添加更多服务器(例如 Cloudflare 的 1.1.1.1)。
      • 此设置适用于使用默认网络创建的所有容器,除非另有指定。
  2. 验证 JSON
    • 确保文件是有效的 JSON。您可以使用 jq 等工具检查:jq . /etc/docker/daemon.json。如果报错,请修复语法。
  3. 重启 Docker 服务
    • 通过重启 Docker 来应用更改:
      sudo systemctl restart docker
      
      • 在非 systemd 系统上(例如较旧的 Linux 发行版),使用 sudo service docker restart
    • 验证状态:sudo systemctl status docker
  4. 测试配置
    • 运行一个测试容器并检查其 DNS 解析:
      docker run --rm busybox nslookup google.com
      
      • 它应该使用您配置的 DNS 服务器进行解析。

注意事项

如果您遇到错误(例如权限问题或 JSON 解析错误),请分享详细信息以便进一步排查。


Back

x-ai/grok-4-fast

Donate