如果直接使用以下的docker-compose 文件部署会有通过多播通信获取endpoint 异常的问题(circus 在stats endpoint 获取少了一个c)
这个问题是部分网络情况下会出现(多播包异常)
version: "3"
services:
circus:
image: dalongrong/circus:3.7-slim-stretch
ports:
- "9999:9999"
- "5555:5555"
volumes:
- "./circus.ini:/app/circus.ini"
circus-web:
image: dalongrong/circusd-web:2.7-slim-stretch
ports:
- "8080:8080"
一种简单的解决方法
- 配置web 的时候明确指定endpoint
方法不是很好,但是可以解决问题
支持的参数如下:
usage: circushttpd [-h] [--fd FD] [--host HOST] [--port PORT]
[--endpoint ENDPOINT] [--version]
[--log-level {info,debug,critical,warning,error,INFO,DEBUG,CRITICAL,WARNING,ERROR}]
[--log-output LOGOUTPUT] [--ssh SSH]
[--multicast MULTICAST]
Run the Web Console
optional arguments:
-h, --help show this help message and exit
--fd FD FD
--host HOST Host
--port PORT port
--endpoint ENDPOINT Circus Endpoint. If not specified, Circus will ask you
which system you want to connect to
--version Displays Circus version and exits.
--log-level {info,debug,critical,warning,error,INFO,DEBUG,CRITICAL,WARNING,ERROR}
log level
--log-output LOGOUTPUT
log output
--ssh SSH SSH Server
--multicast MULTICAST
Multicast endpoint. If not specified, Circus will use
default one
- 修改下docker-compose circus service name
修改格式如下:
version: "3"
services:
appcircus:
image: dalongrong/circus:3.7-slim-stretch
ports:
- "9999:9999"
- "5555:5555"
volumes:
- "./circus.ini:/app/circus.ini"
circus-web:
image: dalongrong/circusd-web:2.7-slim-stretch
ports:
- "8080:8080"
重新连接效果
从下图看出,获取的额信息正常,这样通信信息也就能显示了
参考资料
https://github.com/rongfengliang/circus-docker-compose
https://github.com/circus-tent/circus-web
https://circus.readthedocs.org/