ubercadence/server:0.22.0-auto-setup的启动脚本关键调用如下:
- 入口为entrypoint.sh,注意负责设置bind ip,调用start.sh
- start.sh 负责判断后端数据库是否启动、调用cadence-cassandra-tool 初始化数据库(除非SKIP_SCHEMA_SETUP设置为true),调用start-cadence.sh
- start-cadence.sh调用dockerize -template $CONFIG_TEMPLATE_PATH:/etc/cadence/config/docker.yaml 生成配置参数yaml文件,启动cadence-server相关service
在官方git上提供了多个docker-compose文件,用于不同数据库及es版本,如:
- docker-compose-es.yml enables advanced visibility with ElasticSearch 6.x
- docker-compose-es-v7.yml enables advanced visibility with ElasticSearch 7.x
- docker-compose-mysql.yml uses MySQL as persistence storage
- docker-compose-postgres.yml uses PostgreSQL as persistence storage
- docker-compose-statsd.yaml runs with Statsd+Graphite
- docker-compose-multiclusters.yaml runs with 2 cadence clusters
官方文档提供的环境变量是有限的,实际上
- entrypoint.sh
- start.sh
- start-cadence.sh
- config_template.yaml
都有环境变量可以使用,上生产建议仔细查看每个环境变量的用途并正确配置,如将4个service分布启动:
exec cadence-server --root $CADENCE_HOME --env docker start --services=$SERVICES
即配置SERVICES即可



