Supervisord haproxy重新加载不工作

我将我的应用程序部署在一个由Supervisorpipe理的进程的Docker容器中。 当我的Zookeeper中的服务器列表发生变化时,我正在重载容器中运行Haproxy(通过sudo haproxy重新加载)。 问题是,Supervisor立即重新启动一个旧configuration的过程,因此不会使更改生效。

1)我试过supervisorctl重读,但我想重新加载(而不是必须重新启动),以避免宕机。

2)我也考虑使用数据包redirect来重启Haproxy,但目前Docker中Iptables的使用受到限制(根据https://github.com/docker/docker/issues/4424#和https:// github .com / docker / docker / issues / 4556 )

任何build议将不胜感激!

这已经通过以下命令序列解决了:

iptables -I INPUT -p tcp --dport 3213 --syn -j DROP sleep 1 supervisorctl -u login -p pass restart haproxy:* iptables -D INPUT -p tcp --dport 3213 --syn -j DROP 

我们暂时放弃syn,以便客户重新发送,直到达到新的进程。

http://www.mail-archive.com/haproxy@formilux.org/msg06885.html

(Docker现在支持内部iptables)

2.通过supervisorctl正常重启进程组