【问题标题】:Azure Cloud App ERR_CONNECTION_TIMED_OUTAzure 云应用 ERR_CONNECTION_TIMED_OUT
【发布时间】:2018-05-19 05:15:58
【问题描述】:

我想在 azure 容器服务中部署一个基于容器的应用程序,并按照本教程进行操作。

https://docs.microsoft.com/en-us/azure/container-service/dcos-swarm/container-service-mesos-marathon-ui

除了显示公共网址外,一切都很顺利 ERR_CONNECTION_TIMED_OUT 在浏览器中。

ping url 时,能够获取 IP 地址,但 ping 显示为超时。

我已经验证了规则列表中允许使用端口 80 的代理 LB。

如何通过公共网络访问应用程序?

【问题讨论】:

  • 您应该使用代理 dns 名称(如 http://shui78agents.eastus.cloudapp.azure.com 而不是主 dns 名称)访问 nginx 服务。

标签: azure marathon azure-virtual-network dcos azure-container-service


【解决方案1】:

ping url 时,能够获取 IP 地址,但显示 ping 超时。

Azure 禁用 ICMP 包,因此您无法 ping Azure 公共 IP 地址。您可以使用telnettcping 来检查您的服务是否正在侦听。


您是否将容器的 80 端口绑定到 DC/OS 代理的 80 端口?如果我不这样做,我会收到与您相同的错误日志。请参考这个link

注意:我在我的实验室测试,如果我没有这样做,nginx 服务会监听其他端口。我 ssh 到代理虚拟机。

root@dcos-agent-public-65818314000001:~# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
7e8091548413        nginx               "nginx -g 'daemon off"   14 minutes ago      Up 14 minutes       0.0.0.0:4912->80/tcp   mesos-d7be0314-6be2-467b-8376-433a05033b17-S1.42edeac0-2aa3-4ecd-acaa-17d5f2f4ac19

该服务正在侦听端口 4912 而不是 80。

如果你做这一步,我建议你也可以ssh到代理VM(相同的用户名和私钥)并执行docker ps

【讨论】:

  • 感谢它现在可以使用。如图所示,我确实配置了相同的 80 端口。但是当我观察到 JSON 配置的主机端口值为 0 时,我手动编辑为 80 并且工作正常。非常感谢
猜你喜欢
  • 2014-01-26
  • 1970-01-01
  • 2016-06-26
  • 2015-10-27
  • 1970-01-01
  • 2016-07-14
  • 2015-04-08
  • 2017-09-01
  • 2017-01-22
相关资源
最近更新 更多