version: '3.8' networks: default: name: ${NAMESPACE} external: true services: db: image: canal/canal-server:v1.1.5 environment: - TZ=Asia/Shanghai - canal.instance.master.address=${canal_instance_master_address} - canal.instance.dbUsername=${canal_instance_dbUsername} - canal.instance.dbPassword=${canal_instance_dbPassword} - canal.instance.gtidon=false - canal.instance.connectionCharset=UTF-8 - canal.instance.tsdb.enable=true - canal.instance.enableDruid=false - canal.instance.filter.regex=${canal_instance_filter_regex} - canal.instance.parser.parallel=true - canal.serverMode=rabbitMQ - canal.mq.topic=${canal_mq_topic} - rabbitmq.host=${rabbitmq_host} - rabbitmq.exchange=${rabbitmq_exchange} - rabbitmq.username=${rabbitmq_username} - rabbitmq.password=${rabbitmq_password} - rabbitmq.virtual.host=${rabbitmq_virtual_host} deploy: update_config: order: start-first placement: constraints: - node.labels.${NAMESPACE}_canal==1