本篇主要是以canal
首先是windows下的docker compose的使用:
windows下安装了Docker Desktop 已经安装了docker Compose 指令 docker-compose version
可以看到版本号
参考: https://docs.microsoft.com/zh-cn/visualstudio/docker/tutorials/use-docker-compose
https://blog.csdn.net/doctorone/article/details/87978112
先用一个简单的案例:我们使用docker安装canal-server
使用docker命令安装运行
下载镜像 docker pull canal/canal-server
运行指令
docker run --name canal-server -e canal.auto.scan=false -e canal.instance.master.address=127.0.0.1:3306 -e canal.instance.dbUsername=canal -e canal.instance.dbPassword=1234 -e canal.instance.filter.regex=.*\\..* -e canal.instance.filter.black.regex=mysql\\.slave_.* -e canal.instance.connectionCharset=UTF-8 -e canal.instance.tsdb.enable=true -p 11111:11111 -d canal/canal-server
使用docker compose安装运行
首先创建 docker-compose.yml
内容为
version: "3.7" # Compose文件版本号 和docker版本是有一定的对应关系的
services:
canal-server: #应用名称 可以有多个注意段落
image: canal/canal-server #使用镜像的名称或者镜像id 如果镜像不在本地,则会拉去镜像
ports: # 绑定端口号 前面的端口号指的是宿主机的端口号,后面的端口号指的是容器的端口号
- 11111:11111
container_name: canal-server1 # 容器名称
environment: #设置镜像变量
- canal.auto.scan=false
- canal.instance.master.address=127.0.0.1:3306
- canal.instance.dbUsername=canal
- canal.instance.dbPassword=1234
- canal.instance.filter.regex=.*\\..*
- canal.instance.filter.black.regex=mysql\\.slave_.*
- canal.instance.connectionCharset=UTF-8
- canal.instance.tsdb.enable=true
#working_dir 迁移工作目录
volumes: # 卷映射 路径映射
- /d/Repository/docker/containers/canal/log:/home/admin/canal-server/logs/
redis: #顺便启动Redis
image: d6121e6a8ceb #镜像id redis:alpine
container_name: redis1
ports:
- 6379:6379
command: redis-server /etc/redis/redis.conf # 覆盖容器启动的默认命令
volumes:
- /d/Repository/docker/data/redis/conf/redis.conf:/etc/redis/redis.conf
- /d/Repository/docker/data/redis/data:/data
docker-compose.yml其他部分参数含义参考: https://www.runoob.com/docker/docker-compose.html
启动 docker-compose up
注意事项:
0,yml文件一定要是utf-8格式
1, yml文件段落一定要对齐
2, Docker Desktop的Resource–>FILE SHARING 一定要包含挂载路径
3, 使用docker-compose up启动时一定要进入docker-compose.yml的目录下,且yml的命名必须为docker-compose.yml, docker-compose.yaml, compose.yml 或 compose.yaml
4, 如果一个文件夹中有多个yml文件,可以使用docker-compose -f xxxxxxx.yml up 命令指定运行的yml文件
参考: https://blog.csdn.net/doctorone/article/details/87978112
5, docker-compose 后台启动 指令为 docker-dompose up -d
6, 如果要删除已启动的容器可以使用docker-compose down (容器停止运行也能使用这个启动)
7, 查看日志 docker-compose logs -f 应用名称 例如 docker-compose logs -f redis
redis 是指应用名称不是容器名称
CanalServer部署完后的应用参考:
https://blog.csdn.net/mshxuyi/article/details/109609418
或者: https://github.com/alibaba/canal/wiki/ClientExample