使用cname而不是nameserver的ip地址运行docker container dns标志

时间:2018-05-15 04:42:15

标签: 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任务定义集成。

1 个答案:

答案 0 :(得分:1)

这与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地址)。