circus && web comsole docker-compose 独立部署
2024-08-30 09:51:33
问题的根本原因是web console 的bug(实际上还是python 对于依赖版本出来不明确)
circus 进程docker 镜像
- dockerfile
FROM python:slim-stretch
LABEL AUTHOR="dalongrong"
LABEL EMAIL="1141591465@qq.com"
WORKDIR /app
RUN apt-get update && apt-get install -y --reinstall build-essential \
&& pip install circus chaussette \
&& apt-get remove -y --purge build-essential \
&& rm -rf /var/lib/apt/lists/*
COPY circus.ini /app/
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT [ "/entrypoint.sh" ]
- entrypoint.sh
#!/bin/sh
circusd /app/circus.ini
- circus demo 配置文件
[circus]
statsd = True
[watcher:webapp]
cmd = /usr/local/bin/chaussette --fd $(circus.sockets.web)
numprocesses = 5
use_sockets = True
[socket:web]
host = 0.0.0.0
port = 9999
circus web console docker 镜像
- dockerfile
说明因为pyzmq 以及tornado 版本的问题,进行了特殊处理
FROM python:2.7-slim-stretch
LABEL AUTHOR="dalongrong"
LABEL EMAIL="1141591465@qq.com"
RUN apt-get update && apt-get install -y --reinstall build-essential \
&& pip install circus-web \
&& pip uninstall -y tornado \
&& pip uninstall -y pyzmq \
&& pip install tornado==3.2.2 \
&& pip install pyzmq==16.0.4 \
&& apt-get remove -y --purge build-essential \
&& rm -rf /var/lib/apt/lists/*
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT [ "/entrypoint.sh" ]
- entrypoint
#!/bin/sh
circushttpd
集成试用
使用docker-compose
- docker-compose 文件
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"
- circus 配置文件
数据卷挂载方式
[circus]
statsd = True
check_delay = 5
endpoint = tcp://0.0.0.0:5555
pubsub_endpoint = tcp://0.0.0.0:5556
stats_endpoint= tcp://0.0.0.0:5557
[watcher:webapp]
cmd = /usr/local/bin/chaussette --fd $(circus.sockets.web)
numprocesses = 5
use_sockets = True
[socket:web]
host = 0.0.0.0
port = 9999
启动&&效果
- 启动
docker-compose up -d
- socket 访问
- web console 访问
说明
因为web console 获取circus stats 接口地址错误(bug),造成无法获取进行的统计信息,只能进行操作处理,同时这种处理方式并不是很安全,实际推荐
基于ipc 通信,并通过ssh tunneling 进行管理以及通信信息查看
参考资料
https://github.com/rongfengliang/circusd-web-docker
https://github.com/rongfengliang/circusd-docker
https://github.com/rongfengliang/circus-docker-compose
https://cloud.docker.com/repository/docker/dalongrong/circusd-web
https://cloud.docker.com/repository/docker/dalongrong/circusd
最新文章
- .NET重构(类型码的设计、重构方法)
- context元素大概解说
- DFA敏感词过滤
- Linux for QQ 安装
- 【分享】深入浅出WPF全系列教程及源码
- Understanding continuations
- 2013~2014年度 NOIP~GDOI总结
- python编程基础—正则表达式
- caffe cifar10试跑问题总结
- 【深度学习】keras + tensorflow 实现猫和狗图像分类
- c#之多线程之为所欲为
- Netty中的连接管理
- 一文入门C3
- 入手Docker容器注意事项:命令结束容器退出
- 12.输入一个成绩计算其A,B,C,D,E等级
- [UE4]动态改变UniFormGird子控件的row属性
- POJ 2551
- 关于hp proliant sl210t服务器raid 1阵列配置
- 博弈---巴什博奕(Bash Game)(博弈入门)
- 写文章 使用conda管理python环境
热门文章
- redis-集群(codis和Cluster)
- 2019vivo秋招提前批笔试题第3题
- zookeeper+kafka集群的安装
- Kubernetes Storage Persistent Volumes
- js 杂症,this with 变量提升
- 4_PHP流程控制语句_1_条件控制语句
- django.db.utils.InternalError: (1060, ";Duplicate column name 'user_id'";)迁移报错解决方法
- 使用jquery.datatable.js注意事项
- Linux操作系统启动故障排错之";/sbin/init";文件被删除恢复案例
- 计算机网络基础之TCP/IP 协议栈