BRIDGE networking: 應用於Docker Application.docker
USER networking: 應用於Docker Application.適合於使用自定義docker網絡的狀況。數組
HOST networking: 應用與Docker Application和非Docker Application。網絡
containerPort: 用於容器部署時,在bridge或者user模式網絡下 ,指定容器裏面的具體端口。架構
hostPort:指服務綁定到主機上的端口,使用bridge或者user網絡模式時,經過撇脂port mapping來映射主機端口到容器端口,在host網絡模式是,默認要求的端口就是主機端口。注意,只有主機端口能夠經過環境變量被獲取到。app
servicePort:在marathon裏面建立一個新應用時,你可能會分配一個或多個服務給該應用, 能夠指定全部的合法端口或者指定爲0讓marathon來自動分配服務端口。若是你本身指定服務端口,必須確保該端口在全部應用中惟一。tcp
portMapping: 在Docker Bridge模式,portMapping對於須要從外部訪問容器內服務來講是必須的,每一個端口須要有一條記錄,一條記錄包含4個元素:host port, container port, service port and protocol。ui
{ "container": { "portMappings": [ <port-mapping>... ], ... }, ... }
container
and container/bridge
mode networking.requirePorts
does not apply to portMappings
ports: 在host網絡模式下使用,ports數組用來定義端口,而且須要做爲resurce offer來考慮。只有在portMapping沒有指定時才須要。ports或者portDefinitions只須要定義一個。this
portDefinitions: 只在host網絡模式下,沒有指定portMapping時使用。用來代替ports數組的,能夠指定 port name, protocol and labels。spa
{ "portDefinitions": [ <port-definition>... ], "requirePorts": <bool>, ... }
host
mode networking.requirePorts
applies to portDefinitions
.protocol: tcp或者/和udp,當Docker容器使用BRIDGE
or USER網絡模式時,做爲portMapping的一部分使用。
code
requirePorts: 設爲true的時候要求在驗證在收到的resource offer裏面有相應的配置的端口,在BRIDGE
or USER網絡模式時不使用該配置。
VIPS: 若是使用DC/OS集羣,能夠使用VIPs來簡化端口管理,VIPs簡化了集羣內部應用之間的通訊,實現了面向服務的架構,VIPs將一個單一地址的流量映射到多個地址和端口上。
vip包含3個組成部分:Private virtual IP address, Port (a port which the service is available on), Service name.
vip按以下格式轉換的:
<service-name>.marathon.l4lb.thisdcos.directory:<port>
{ "id": "/my-service", "cmd": "sleep 10", "cpus": 1, "portDefinitions": [ { "protocol": "tcp", "port": 5555, "labels": { "VIP_0": "/my-service:5555" }, "name": "my-vip" } ] }
在上面這段設置中,DCOS集羣內部APP能夠經過my-service.marathon.l4lb.thisdcos.directory:5555來訪問服務。
To view the VIP for Kafka, run
dcos kafka endpoints broker
from the DC/OS CLI.