marathon参考(11):ports端口设置

Ports

参加马拉松比赛中服用的端口排列可能会困惑,还要独身悬而未决的成绩,需求重行设计 ports API。这编页码想出更明亮的地解说它们是方法义务的。。

解释

containerPort诉讼内,这是独身箱躲藏处。运用Docker诉讼时,当笔者运用桥接制度文字时,这是端口有代劳人的偏微商。,强制的获得知识。

hostPort领导者端口。运用桥接制度文字时,您需求使具有特性从领导者端口到容纳端口的有代劳人。。在领导者的制度文字,默许所请求的事物端口是领导者端口。。

BRIDGE networking该桥文字的制度中运用桥墩工人的服用。以这种文字,箱躲藏处(在箱躲藏处)有代劳人的端口,在诉讼内绑定使具有特性端口的服用程序,DOCKER制度在领导者上绑定使具有特性的端口。。

HOST networking:HOST制度运用在非docker的marathon服用和docker服扑灭。在这种文字下,服用直接的绑定在领导者上的独身或多个端口。。

portMapping端口有代劳人是DOCKER服用的祈使语气,DOCKER服用程序需求运用网桥文字,它容纳一组领导者 port、container port、service port和protocol。多端口比对可以由参加马拉松比赛服用程序使具有特性。。

ports端口大楼用于解释端口。它强制的解释为独身大楼。,结果您运用的是领导者制度文字,而且缺席使具有特性端口有代劳人。。。端口和端口解释可以同时解释。。

portDefinitions端口解释大楼用于解释端口。它强制的解释为独身大楼。,结果您运用的是领导者制度文字,而且缺席使具有特性端口有代劳人。。。portdefinition刚过去的数组可以代表端口数组,它可以使具有特性端口规定、协定和监视。端口和端口解释可以同时解释。。

protocol使具有特性独身协定,独身端口(如TCP、udp、或TCP和UDP。在鼻梁诉讼中运用桥接制度文字时,端口有代劳人是大声喊的。

requirePorts: RealRealts是独身属性,使具有特性参加马拉松比赛能否需求使具有特性端口。。这确保了端口绑定到胸部代劳。。此属性不供养桥接制度架构。。

servicePort检修端口是作图检修应当B的端口的端口。。参加马拉松比赛不绑定到使具有特性的检修端口,但要确保你无能力的在同独身领导者上运转多个服用程序。检修端口通常只运用表面服用程序(例比方HaAgent)使服用程序可以在使具有特性的端口。请参阅更多的检修获得知识和装载均衡

随机端口分派

设置端口是运用0值,参加马拉松比赛为服用程序分派随机端口。不管到什么程度结果在端口有代劳人portMapping中containerPort设置成0,箱躲藏处与躲藏处相反。

环境变数

每个领导者的端标语可以经过环境变数印。$PORT0,$Purt1光屁股。默许情境下,为每个参加马拉松比赛服用程序分派独身端口。,因而$PORT0常常无效的。在参加马拉松比赛赛跑的桥墩上运转,这些环境变数亦无效的。。

运用桥接制度文字时,确保在portMapping端口有代劳人中设置containerPort诉讼端标语。不管到什么程度,结果将诉讼端口设置为0,因而它跟主人同上,您可以运用$PATH环境变数。

排列诉讼手续

Host文字

领导者制度文字是默许的制度文字。,无论是桥墩工人和非Docker诉讼服用程序可以运用。留意,在Doc证件中不需求光屁股。。

翻开领导者文字

领导者文字是诉讼的默许翻开。。结果你想显示的排列,可以经过制度属性使具有特性。

"container": {
    "type": "DOCKER",
    "docker": {
      "image": "my-image:",
      "network": "HOST"
    }
  },

非桥墩工人的服用,你不需求使具有特性任何一个东西。

使具有特性端口

经过端口大楼使具有特性端口。

"ports": [
        0, 0, 0
    ],

或由端口解释大楼使具有特性的:

"portDefinitions": [
      {"port": 0}, {"port": 0}, {"port": 0}
    ],

在刚过去的诉讼中,笔者使具有特性3个随机分派的领导者端标语。,可以经过环境变数$PORT0,$端口1,$Purt2运用三端标语。参加马拉松比赛将随机分派三个检修端标语检修 port。

使具有特性的检修端标语检修 port:

"ports": [
        2001, 2002, 3000
    ],

或许:

"portDefinitions": [
        {"port": 2001}, {"port": 2002}, {"port": 3000}
    ],

在刚过去的诉讼中,领导者端口$PORT0,$端口1,$端口是随机分派。但检修端标语检修 端口为2001,2002,3000。运用检修获得知识的receiver 收音机,比方HaAgent,从检修端口的检修所请求的事物代劳 端口到领导者端口领导者 port,它需求以上面的方法排列。

结果您想代替动词检修端口检修 端口和领导者端口领导者 端口相反,您需求将Error日记设置为true。,默许情境下,此值为false。。

"ports": [
        2001, 2002, 3000
    ],
    "requirePorts" : true

结果你不请求的检修获得知识机制,刚过去的属性特有的有益。。

解释端口解释大楼,您可认为每个端口使具有特性独身协定,规定和监视。当你开端每一新的义务,参加马拉松比赛向中微子发送元唱片。MIOS将在义务的获得知识担任守队队员中光屁股此信息。。自解释制度获得知识程序将使用这场。

上面是解释端口解释的诉讼手续:

"portDefinitions": [
        {
            "port": 0,
            "protocol": "tcp",
            "name": "http",
            "labels": {"VIP_0": ""}
        }
    ],

需求端口担任守队队员。protocol,name,监视是可选的。结果仅为端口端口设置端口解释大楼,因而它是设定端口数组相反。

留意到躲藏处和portdefinitions不克不及一同运用。

援用端口

你可以在dockerfile证件到领导者端口。:

CMD ./my-app--http-port=$PORT0--https-port=$端口1--monitoring-port=2

别的,结果你不运用docker或许运用在你的marathon服用中解释cmd,路是同上的:

"cmd": "./my-app --http-port=$PORT0 --https-port=$端口1 --monitoring-port=2"

Bridge文字

桥制度文字可以有代劳人领导者端口的在内部地端口,眼前只供养DOCKER诉讼。结果运用诉讼镜像,端口是通过作弊预先安排好结果的的。,刚过去的文字特有的有益。。预示标志,揭露在dockerfile躲藏处是不大声喊的。

翻开桥文字

经过制度属性使具有特性桥接文字:

"container": {
    "type": "DOCKER",
    "docker": {
      "image": "my-image:",
      "network": "BRIDGE"
    }
  },

使具有特性端口

端口有代劳人类似地DOCK命令说话中肯限制因素-P。它使具有特性诉讼中领导者和端口的有代劳人明智地使用。。

在诉讼中排列端口有代劳人端口有代劳人

"container": {
    "type": "DOCKER",
    "docker": {
      "image": "my-image:",
      "network": "BRIDGE",
      "portMappings": [
        { "containerPort": 0, "hostPort": 0 },
        { "containerPort": 0, "hostPort": 0 },
        { "containerPort": 0, "hostPort": 0 }
      ]
    }
  },

在刚过去的诉讼中,领导者端口是随机的,诉讼端标语与领导者端标语划一。。这边解释了三个端口有代劳人。,诉讼内可以运用环境变数$PORT0、$端口1、$2顾及端标语。

别的,通过作弊预先安排好结果的箱躲藏处编号,排列如次:

"container": {
    "type": "DOCKER",
    "docker": {
      "image": "my-image:",
      "network": "BRIDGE",
      "portMappings": [
        { "containerPort": 80, "hostPort": 0 },
        { "containerPort": 443, "hostPort": 0 },
        { "containerPort": 4000, "hostPort": 0 }
      ]
    }
  },

在刚过去的诉讼中,参加马拉松比赛将比对领导者端口80随机。,443,4000端口。环境变数$躲藏处是特有的重要的,在上面的诉讼中,$PUT0表现最重要的有代劳人说话中肯领导者端口值。

使具有特性协定

还可以使具有特性端口的协定。,默许是TCP

"container": {
    "type": "DOCKER",
    "docker": {
      "image": "my-image:",
      "network": "BRIDGE",
      "portMappings": [
        { "containerPort": 80, "hostPort": 0, "protocol": "tcp" },
        { "containerPort": 443, "hostPort": 0, "protocol": "tcp" },
        { "containerPort": 4000, "hostPort": 0, "protocol": "udp" }
      ]
    }
  },

使具有特性的检修端口

默许情境下,参加马拉松比赛随机使成为检修端口检修 port。检修获得知识检修端口,将检修端口设置成经用端口是独身可取的程序。运用Service PoT获得知识检修端口:

"container": {
    "type": "DOCKER",
    "docker": {
      "image": "my-image:",
      "network": "BRIDGE",
      "portMappings": [
        { "containerPort": 80, "hostPort": 0, "protocol": "tcp", "servicePort": 2000 },
        { "containerPort": 443, "hostPort": 0, "protocol": "tcp", "servicePort": 2001 },
        { "containerPort": 4000, "hostPort": 0, "protocol": "udp", "servicePort": 3000}
      ]
    }
  },

在刚过去的诉讼中$PORT0、$端口1、$端口是随机分派。不管到什么程度检修端口设置为2001。、2002和3000。表面代劳,比方HaAgent,将检修端口路由到领导者端口。

援用端口

结果诉讼端口设置为0,你应当在Dockerfile的使具有特性端口:

CMD ./my-app--http-port=$PORT0--https-port=$端口1--monitoring-port=2

不管到什么程度,结果曾经使具有特性了诉讼端口的值,您只需在Dockerfile运用这些端口值:

CMD ./my-app--http-port=80--https-port=443--monitoring-port=4000

别的,在您的参加马拉松比赛服用程序解释中使具有特性CMD,您可以运用相反的方法来解释端口。:

"cmd": "./my-app --http-port=$PORT0 --https-port=$端口1 --monitoring-port=2"

或运用通过作弊预先安排好结果的值:

.----------

原文地址

发表评论

电子邮件地址不会被公开。 必填项已用*标注