我正在尝试通过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/

    10-16 22:35