分享docker canal踩坑历程(附解决方案)
本篇文章主要给大家分享docker canal 踩坑记录,以及介绍如何快速解决遇到的这些坑,希望对需要的朋友有所帮助!
【推荐学习:docker视频教程】
结果
可能会爬的坑
canal-server 连接不上数据库,提示connection refuse。
canal-admin启动后,启动canal-server,admin日志提示 connection refuse。
mac m1 启动canal-admin
docker run --platform linux/amd64 --name=canal-admin -e server.port=8089 -e canal.adminUser=admin -e canal.adminPasswd=123456 -p 8089:8089 -d canal/canal-admin:v1.1.5
canal-admin默认密码为admin。但是admin面板有个bug,只能6位及以上密码,所以修改密码为123456。可是修改密码后,直接导致了,canal-server启动后,面板不展示启动的server。
原因是因为,canal-server启动时:CanalServer和CanalAdmin会通过CanalAdmin的登陆账号密码进行双向授权。所以canal-server启动时指定的canal.admin.passwd一定是123456加密的密码。需要进入canal-admin,获取admin账号123456的加密密码,用于启动canal-server。
mac m1 启动canal-server
docker run --platform linux/amd64 --name canal-server -p 11111:11111 -e canal.destinations=canal-server -e canal.auto.scan=false -e canal.destinations=canal-server -e canal.instance.master.address=192.168.0.102:3306 -e canal.instance.defaultDatabaseName=canal-server -e canal.instance.dbUsername=canal -e canal.instance.dbPassword=canal -e canal.admin.manager=192.168.0.102:8089 -e canal.admin.port=11110 -e canal.admin.user=admin -e canal.admin.passwd=6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 -e canal.instance.connectionCharset=UTF-8 -e canal.instance.tsdb.enable=true -e canal.instance.gtidon=false -d canal/canal-server:v1.1.5
还有一个问题是
启动时canal-server指定了canal.destinations=canal-server,但是,客户端依旧提示,canal-server should start first。
解决方案是手动加上
以上是分享docker canal踩坑历程(附解决方案)的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

退出 Docker 容器的四种方法:容器终端中使用 Ctrl D 快捷键容器终端中输入 exit 命令宿主机终端中使用 docker stop <container_name> 命令宿主机终端中使用 docker kill <container_name> 命令(强制退出)

Docker 中将文件拷贝到外部主机的方法:使用 docker cp 命令:执行 docker cp [选项] <容器路径> <主机路径>。使用数据卷:在主机上创建目录,在创建容器时使用 -v 参数挂载该目录到容器内,实现文件双向同步。

可以通过以下步骤查询 Docker 容器名称:列出所有容器(docker ps)。筛选容器列表(使用 grep 命令)。获取容器名称(位于 "NAMES" 列中)。

重启 Docker 容器的方法:获取容器 ID(docker ps);停止容器(docker stop <container_id>);启动容器(docker start <container_id>);验证重启成功(docker ps)。其他方法:Docker Compose(docker-compose restart)或 Docker API(参考 Docker 文档)。

在 Docker 中启动 MySQL 的过程包含以下步骤:拉取 MySQL 镜像创建并启动容器,设置根用户密码并映射端口验证连接创建数据库和用户授予对数据库的所有权限

在 Docker 中创建容器: 1. 拉取镜像: docker pull [镜像名] 2. 创建容器: docker run [选项] [镜像名] [命令] 3. 启动容器: docker start [容器名]

Docker 进程查看方法:1. Docker CLI 命令:docker ps;2. Systemd CLI 命令:systemctl status docker;3. Docker Compose CLI 命令:docker-compose ps;4. Process Explorer(Windows);5. /proc 目录(Linux)。
