-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Closed
Description
- 现象
当使用 docker 部署官方 canal-server 镜像(canal/canal-server:v1.1.0)并成功启动后,调用
docker restart会有以下错误信息:
mv: cannot stat `/home/admin/canal-server/conf/example': No such file or directory
- 原因
检查 docker 启动脚本,发现 https://github.com/alibaba/canal/blob/master/docker/image/admin/app.sh 的 84-92 行引发的错误:
destination=`perl -le 'print $ENV{"canal.destinations"}'`
if [[ "$destination" =~ ',' ]]; then
echo "multi destination:$destination is not support"
exit 1;
else
if [ "$destination" != "" ] && [ "$destination" != "example" ] ; then
mv /home/admin/canal-server/conf/example /home/admin/canal-server/conf/$destination
fi
fi这里的行为是每次启动时,如果指定了 destination 且 destination 的值不是 example,会把
/home/admin/canal-server/conf/example
目录重命名为指定的 destination 值。
由于我指定了 destination 且值不是 example,所以这个行为导致了执行
docker restart时,由于容器内已经没有 example 文件夹,所以容器无法启动。
- 问题
各位大佬是如何解决这个问题的?自己打镜像还是有其他姿势?
Reactions are currently unavailable