Thingsboard PE docker 容器无法访问许可证服务器



我正试图在Azure Linux VM(ubuntu 20.04(上运行一个Thingsboard PE docker compose集群(基本配置(;整料";容器在大约一分钟后关闭,日志报告它无法访问许可证服务器。我假设它是因为许可证服务器访问而关闭的,并且假设问题是容器无法访问互联网(但如果有任何关于进一步故障排除的建议,我们将不胜感激(。

容器内cat /etc/resolv.conf返回:

search 1lt4eb1hmraebffqmvlsi2dp5g.px.internal.cloudapp.net
nameserver 127.0.0.11
options ndots:0

在主机上是:

nameserver 168.63.129.16
search 1lt4eb1hmraebffqmvlsi2dp5g.px.internal.cloudapp.net

从主机访问互联网没有问题,我可以ping谷歌的dns服务器。

我读了很多关于为docker容器设置DNS服务器设置的帖子/建议,并(单独(尝试了以下操作,但服务仍然失败:

  • 将Google dns条目添加到docker-compose.yml
  • 将Google dns添加到/etc/docker/daemon.json
  • 将Google dns添加到/etc/default/docker
  • 更新/etc/resolv.conf符号链接为:sudo ln -sf /run/systemd/resolve/resolv.conf

看起来我无法在Azure虚拟机上编辑iptables(但如果可能,请告诉我(。

如果有人经历过同样或类似的问题,我很想知道你是如何解决的。

对于其他有这个问题的人来说,经过进一步研究,似乎问题实际上是;选项ndots:0";配置与Ubuntu 20.04上的默认主机DNS配置不兼容。我在/etc/docker/daemon.json中添加了以下设置,之后容器就可以访问互联网了。通过在docker-compose.yml中向服务添加设置,可以将其限制在特定容器中,但我还没有尝试过。

{
   "dns-opts":["ndots:1"]
}

最新更新