最近使用 docker swarm + nginx,遇到一个问题

2018-07-24 15:27:10 +08:00
 XSG

在 swarm 中定义了三个服务:appA、appB 和 nginx。

nginx 的大概配置

location ^~ /abc {
    proxy_pass http://hostA:8080;
}

location ^~ /def {
    proxy_pass http://hostB:8080;
}

正常情况下是没问题的,nginx 可以很 happy 的运行,但是一旦某个服务比如 appA 重启了,

docker 给 appA 重新分配了个 ip,然后 nginx 就不干了,报错

connect() failed (113: No route to host) while connecting to upstream

然后 appA 一段时间无法提供服务,必须手动 nginx -s reload 才可以重新解析新 ip

而如果是 appA 挂了,还有可能导致整个 nginx 无法启动,连 appB 也无法提供服务了

不知道各路大神有没有好的解决方法呢?

1802 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/473698

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX