[alibaba/canal]Windows下的docker desktop运行容器秒退

2024-07-22 205 views
8
Question

Windows下的docker desktop运行容器秒退,查看日志也没有任何日志,这个需要怎么排查?

回答

3

我的不光windows,Debian也这样,就去年部署的centos服务器可以,我把centos服务器上的canal镜像,save后load到我的debian服务器和windows上,启动依然是秒退。折腾了一天都搞不定。没办法,在这里下载了canal,修改了startup.sh,然后用java容器启动就OK了,头都大了。

0

求大佬解答下

4

操作系统:win11 2202 安装的wsl2 ubuntu 操作步骤:

  1. 先安装了 mysql:5.7.43。 a. 创建my.cnf root@DESKTOP-FP2TPPC:/mnt/c/Users/qiuzhi# cat /etc/mysqlconf/my.cnf [mysqld] log-bin=mysql-bin binlog-format=ROW server_id=1 b. docker run --name mysql -d -v /etc/mysqlconf:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.43 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci c.进去mysql,通过show variables确认上面三行配置生效. d.按文档也添加了canal复制用户

2.安装canal-server a.下载脚本:wget ... b.然后执行:bash ./run.sh -e canal.auto.scan=false -e canal.destinations=test -e canal.instance.master.address=127.0.0.1:3306 -e canal.instance.dbUsername=canal -e canal.instance.dbPassword=canal -e canal.instance.connectionCharset=UTF-8 -e canal.instance.tsdb.enable=true -e canal.instance.gtidon=false \ c.docker ps -a 显示canal-server没运行, 通过docker logs canal-server没显示任何日志信息,

image

6

最早的时候,用的是mysql 8.0.33, 以为安装canal版本太高, 尝试降到1.1.6也是不行; 然后再降mysql 到5.7.43, 还是一样启动失败也没docker日志;

求助!!

8

https://github.com/alibaba/canal/issues/4026 给了方案。

  1. 在%userprofile% 建一个.wslconfig文件,内容如下,然后重启windows [wsl2] kernelCommandLine = vsyscall=emulate

  2. 然后重新启动mysql

issues提了多个类似的问题,都被关了。阿里生儿子 ,“管生不管养”这种风格的确要吐槽一下。 要么更新一下文档,要么更新一下基础镜像,解决问题。

9

看着主要是基础镜像centos过低问题,1.1.7升级了docker基础镜像,最新使用centos 7.9,支持x86和arm 可以考虑升级下