V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
XSG
V2EX  ›  问与答

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

  •  
  •   XSG · 2018-07-24 15:27:10 +08:00 · 1778 次点击
    这是一个创建于 2303 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 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 也无法提供服务了

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

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5775 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:25 · PVG 14:25 · LAX 22:25 · JFK 01:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.