docker pull canal/canal-server:latest2. 启动容器
docker run -d canal/canal-server:latest3. 从容器中拷贝出配置文件
docker cp 容器名或者容器ID:/home/admin/canalserver/conf/canal.properties ./conf/ docker cp 容器名或者容器ID:/home/admin/canal-server/conf/test/instance.properties ./conf/4. 修改 canal.properties 文件,配置输出到 RabbitMQ,有以下几处要改:
################################################## ######### RabbitMQ ############# ################################################## rabbitmq.host = 127.0.0.1 rabbitmq.exchange = exchange.canal rabbitmq.username = guest rabbitmq.password = guest5.修改 instance.properties 文件:
# position info # MySQL 地址 + 端口 canal.instance.master.address=127.0.0.1:3306 # 数据库账号密码 canal.instance.dbUsername=root canal.instance.dbPassword=root # 监听的数据库表 canal.instance.filter.regex=test.user # mq config # RabbitMQ Routing key canal.mq.topic=canal-routing-key6. docker-compose 文件
version: "3.8"
services:
canal-server:
image: canal/canal-server:latest
container_name: canal-server
restart: unless-stopped
# host 网络模式只对 Docker 17.06 以及更高版本的 swarm 服务可用
network_mode: bridge
ports:
- 11111:11111
volumes:
- ./conf/canal.properties:/home/admin/canal-server/conf/canal.properties
- ./conf/instance.properties:/home/admin/canal-server/conf/test/instance.properties
- ./log/:/home/admin/canal-server/logs/
7. 启动服务
ocker-compose up -d
注意:发现启动服务失败,别担心,需要配置一下RabbitMQ
配置 RabbitMQ 1. 新建exchange 2. 新建队列 3. 绑定队列
- 第3步一定要与canal.properties配置文件rabbitmq.exchange = exchange.canal一致
- 第4步一定要与instance.properties配置文件canal.mq.topic=canal-routing-key一致



