在ACS(DCOS)中应用于除80之外的任何其他端口

时间:2018-03-06 08:58:45

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

如何在除80以外的任何其他端口上的ACS(DCOS)中托管应用程序?我可以提供任何其他URL而不是使用端口号来访问吗?

{
 "id": "/dockercloud-hello-world",
 "cmd": null,
 "cpus": 0.1,
 "mem": 128,
 "disk": 0,
 "instances": 2,
 "acceptedResourceRoles": [
   "*"
 ],
 "container": {
   "type": "DOCKER",
   "volumes": [],
   "docker": {
     "image": "dockercloud/hello-world",
     "network": "BRIDGE",
     "portMappings": [
       {
         "containerPort": 80,
         "hostPort": 0,
         "servicePort": 10000,
         "protocol": "tcp",
         "labels": {}
       }
     ],
     "privileged": false,
     "parameters": [],
     "forcePullImage": true
   }
 },

 "portDefinitions": [
   {
     "port": 10000,
     "protocol": "tcp",
     "name": "default",
     "labels": {}
   }
 ]
}

根据Marathon的说法,应用程序可在4170端口使用。

我无法从座席fqn:portnumber

进行访问

1 个答案:

答案 0 :(得分:2)

是的,有可能。

首先,您需要将hostPort值修改为4170,将acceptedResourceRoles修改为slave_public

然后您需要在代理节点NSG上打开端口4170。

enter image description here

然后您还需要在代理节点LB上打开端口。

1.添加健康探测器

enter image description here

2.Load balance rules

enter image description here

有关此问题的详情,请查看此link