使用docker swarm被一个感觉简单的问题难住了,高手进

龙舞飞扬v 龙舞飞扬v 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在 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 也无法提供服务了

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

主要是docker 重新拉起的容器可以设置固态ip或者是使用什么方法 动态识别容器ip
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
龙舞飞扬v
Docker 1,185 成员 925 内容