• Docker从入门到精通——为Docker指定DNS服务器


    为Docker指定DNS服务器

      如果您的容器需要解析网络内部的主机,那么公共名称服务器就不够用了。你有两个选择:

      • 您可以指定 Docker 使用的 DNS 服务器,或者
      • dnsmasq 您可以在 NetworkManager 中禁用。如果您这样做,NetworkManager 会将您真正的 DNS 名称服务器添加到/etc/resolv.conf,但您会失去dnsmasq.

      您只需要使用其中一种方法。

    一、为Docker指定DNS服务器

      配置文件的默认位置是/etc/docker/daemon.json--config-file 您可以使用 daemon 标志更改配置文件的位置。下面的文档假定配置文件位于/etc/docker/daemon.json.

    1. 创建或编辑 Docker daemon 配置文件,默认为 /etc/docker/daemon.jsonfile,控制 Docker daemon 配置。

       sudo nano /etc/docker/daemon.json
    2. 添加dns具有一个或多个 IP 地址作为值的键。如果文件已有内容,您只需添加或编辑该dns行。

      {
        "dns": ["8.8.8.8", "8.8.4.4"]
      }

      如果您的内部 DNS 服务器无法解析公共 IP 地址,请至少包含一个可以解析的 DNS 服务器,以便您可以连接到 Docker Hub,以便您的容器可以解析 Internet 域名。

      保存并关闭文件。

    3. 重新启动 Docker 守护程序。

      
      
      sudo service docker restart
      
      
    4. 验证 Docker 是否可以通过尝试拉取镜像来解析外部 IP 地址:

      
      
      docker pull hello-world
    5. 如有必要,验证 Docker 容器是否可以通过 ping 解析内部主机名。

       docker run --rm -it alpine ping -c4 <my_internal_host>
      
      PING google.com (192.168.1.2): 56 data bytes
      64 bytes from 192.168.1.2: seq=0 ttl=41 time=7.597 ms
      64 bytes from 192.168.1.2: seq=1 ttl=41 time=7.635 ms
      64 bytes from 192.168.1.2: seq=2 ttl=41 time=7.660 ms
      64 bytes from 192.168.1.2: seq=3 ttl=41 time=7.677 ms

    二、禁用dnsmasq

      1) Ubuntu

      如果您不想更改 Docker 守护程序的配置以使用特定 IP 地址,请按照这些说明dnsmasq在 NetworkManager 中禁用。

    1. 编辑/etc/NetworkManager/NetworkManager.conf文件。

    2. dns=dnsmasq通过在行首添加一个#字符来注释掉该行。

      dns=dnsmasq

      保存并关闭文件。

    3. 重新启动 NetworkManager 和 Docker。作为替代方案,您可以重新启动系统。

       sudo systemctl restart network-manager
       sudo systemctl restart docker
      2) RHEL、CentOS 或 Fedora

      dnsmasq 要在 RHEL、CentOS 或 Fedora 上禁用:

    1. 禁用dnsmasq服务:

       sudo systemctl stop dnsmasq
       sudo systemctl disable dnsmasq
    2. 使用Red Hat 文档手动配置 DNS 服务器。

  • 相关阅读:
    c#语音报时(含完整的声音资源文件).rar
    SQL 查看数据库表的容量大小
    c# 鼠标在控件上拖动 移动窗体 移动窗口
    C# winform 右下角弹出窗口结果
    Qt通用方法及类库8
    Qt通用方法及类库7
    Qt通用方法及类库6
    Qt通用方法及类库5
    Qt通用方法及类库4
    Qt通用方法及类库3
  • 原文地址:https://www.cnblogs.com/zuoyang/p/16355467.html
Copyright © 2020-2023  润新知