portMappings中dcos json中容器端口,主机端口和服务端口之间的区别

时间:2018-01-09 07:36:31

标签: docker containers dcos

我很困惑所有这些端口表示portMappings中的容器端口,主机端口和服务端口,下面是我的json

"portMappings": [
  {
    "containerPort": 9000,
    "hostPort": 9000,
    "labels": {
      "VIP_0": "/app2n:9000"
    },
    "protocol": "tcp",
    "servicePort": 10101
  }
]

2 个答案:

答案 0 :(得分:8)

  • containerPort是容器中的端口,您的容器化应用应该监听它,
  • hostPort是将在容器运行的Mesos代理上可见的端口
  • servicePort是框架内部使用的抽象端口,例如它可以在loadbalancer中用作映射到运行容器及其hostPort的主机的端口。在整个群集中应该是唯一的。

基本上流程看起来像这样: 互联网 - &gt; <loadbalancer e.g. nginx, haproxy>:<servicePort> - &gt; <mesos agent on which container runs>:<hostPort> - &gt; <container>:<containerPort>

答案 1 :(得分:0)

targetPort这是请求发送到的Pod上的端口。您的应用程序需要在此端口上侦听网络请求才能使服务正常工作。这些端口通常用于服务yaml描述符中。