问题是:
docker镜像的1.1.4的canal-server的启动文件: https://github.com/alibaba/canal/blob/master/docker/image/app.sh
这里面完全没有考虑当用户修改了canal-admin的账号和密码的情况,会导致容器永远无法启动。 因为这里只处理了:
canal.admin.manager canal.admin.port
一旦发现用户设置了canal.admin.manager,就会执行如下语句:
su admin -c 'cd /home/admin/canal-server/bin/ && sh restart.sh local 1>>/tmp/start.log 2>&1'
但是local这个配置文件里并没有去帮用户做变量替换,使用ENV变量去替换配置文件的值,以至于永远使用admin / 123456去连接canal-admin,但是我的canal-admin的密码已经换成了别的,所以就永远无法自动加入集群。
原提问者GitHub用户lxepoo
sh run_admin.sh -e server.port=8089
-e canal.adminUser=admin
-e canal.adminPasswd=admin
这个user/passwd替换是支持的,不是在shell脚本里处理,而是在springboot里通过ENV变量自动替换placeholder变量
原回答者GitHub用户agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。