我有一个在生产中需要 websocket 连接的网络服务器。我使用 docker-compose 和 nginx 作为代理来部署它。所以我的撰写文件如下所示:
version: '2'
services:
app:
restart: always
nginx:
restart: always
ports:
- "80:80"
现在,如果我将“app”服务扩展到多个实例,docker-compose 将在每次调用内部 dns“app”时执行循环。
有没有办法告诉 docker-compose 负载均衡器应用粘性会话?
另一种解决方案 - 有没有办法使用 nginx 解决它?
我不喜欢的可能解决方案:
app的多重定义
version: '2'
services:
app1:
restart: always
app2:
restart: always
nginx:
restart: always
ports:
- "80:80"
(然后在 nginx 配置文件中,我可以定义 app1 和 app2 之间的粘性会话)。
我从搜索中得到的最佳结果: https ://github.com/docker/dockercloud-haproxy
但这需要我添加另一个服务(也许替换 nginx?),并且文档对于那里的粘性会话非常差。
我希望 docker 只允许在 compose 文件中使用简单的行来配置它。
谢谢!