docker - 使用cname而不是nameserver的IP地址运行docker容器dns标志

标签 docker dns cname

我正在尝试通过cname传递dns名称服务器。我用下面的命令

docker run -d --dns=dnsserver.testdomain.com image

这让我错了
"--dns":flag dnsserver.testdomain.com is not an ip address. 

我理解该错误,但是我遇到了一种情况,我的dns服务器可以更改,并且我想通过cname处理它,以便即使名称服务器的ip地址发生更改,我在容器内的dns查询也不会失败。

您能帮我解决这个问题吗?
我还需要最终将其与ECS任务定义集成。

最佳答案

这与moby opts validate IP addresses的方式一致。

如果需要使用cname,则应将docker run调用包装在以下脚本中:

  • 将FQDN(完全合格的域名)解析为IP地址(ping or other commands)
  • -dns选项中使用该IP地址。

  • 有关脚本,请参见“AWS ECS 'Running Commands on Your Linux Instance at Launch'”。

    然后,您可以在AWS::ECS::TaskDefinition指令中使用该值(IP地址)。

    关于docker - 使用cname而不是nameserver的IP地址运行docker容器dns标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50342449/

    相关文章:

    http-status-code-404 - Openshift 应用程序重定向到 https ://domain_name/app

    macos - Mac 上的 Docker 正在运行但拒绝暴露端口

    azure - DNS:Azure Web Apps + 流量管理器的高可用性

    DNS CNAME 上的 SSL 继承

    grails - 在Grails中获取bean属性名称

    windows - 从 IPCONFIG/all 解析第二个 DNS,Windows 批处理

    github - 通过 DNS 的多个 GitHub 页面和自定义域

    docker - 使用 nginx 和 docker 测试本地子域

    docker - RabbitMQ Docker容器不适用于AWS EC2实例

    docker - docker中的vue pwa - 找不到模块 'chalk'