У меня есть как файлы компоновки, так и стека с nginx службой как
networks:
custom_overlay_network:
external: true
services:
proxy:
image: nginx:alpine
ports:
- target: 80
published: 80
protocol: tcp
mode: host
networks:
- custom_overlay_network
Я также попробовал вариант с короткими портами:
ports:
- "80:80"
вот настройки сети nginx служба в рое (с / без mode: host
)
"NetworkSettings": {
"Bridge": "",
"SandboxID": "c8d0dbff010c840f79d3e6c7ab7c0a225312ae6e28945e310a5f433f23baaadb",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": null
},
"SandboxKey": "/var/run/docker/netns/c8d0dbff010c",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
...
и здесь устанавливаются nginx служба в режиме компоновки
"NetworkSettings": {
"Bridge": "",
"SandboxID": "22510ac75ac8e48f2c555d2bfc71ab47928ece59445b0db593eab882e26251e2",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
}
]
},
"SandboxKey": "/var/run/docker/netns/22510ac75ac8",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
, когда я запускаю службу как композицию - у меня есть доступ к http://localhost
контенту
, но если я запускаю службу в режиме роя - у меня нет доступа к http://localhost
У меня также нет доступа к http://<network IP address>