我遇到了Swarm和内部ip解决方案的奇怪问题。 我有一个管理器节点,我在其中为工作节点上运行的其他容器配置了代理。 所有容器都已连接在同一个自定义覆盖网络上。
基本上,似乎Swarm无法使用正确的IP解析名称:
PING geoserver (10.0.0.8): 56 data bytes
64 bytes from 10.0.0.8: icmp_seq=0 ttl=64 time=0.672 ms
64 bytes from 10.0.0.8: icmp_seq=1 ttl=64 time=0.237 ms
如果我检查容器内的覆盖网络,我得到了一个不同的IP:
"id": {
"Name": "geoserver.1.6okorb8kie28lpv5lxu135y74",
"EndpointID": "id",
"MacAddress": "02:42:0a:00:00:09",
"IPv4Address": "10.0.0.9/24",
}
那么,为什么我在同一个集群中的节点上看到两个不同的IP? 哪个节点响应10.0.0.8?
这是撰写文件:
version: '3'
services:
proxy:
image: pk/rh_proxy:base
container_name: rh_proxy
ports:
- "80:80"
deploy:
placement:
constraints:
- node.hostname == rh02
[....]
geoserver:
image: kartoza/geoserver
container_name: rh_geoserver
deploy:
placement:
constraints:
- node.hostname == ms02
networks:
default:
external:
name: "rh_overlay"
和
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
la6ucl7xwnbc0hihn9fw2ugb1 * rh02 Ready Active Leader
n88rw8sharboecp3t6ej0fljk db-01-bis Ready Active
xa32bamrwyk2egfxdbu6xmn8j ms02 Ready Active
干杯, FB