Docker挂载ob和.obd目录后,删除container后启动不起来

【 使用环境 】测试环境
【 OB or 其他组件 】Docker最新版本Oceanbase
【 使用版本 】VERSION=4.1.0.0-100000192023032010
【问题描述】通过volume挂载/root/ob和/root/.obd目录后,如果docker rm删除容器后,再次启动会报错:

2023-09-08 16:07:02 Start obagent ok
2023-09-08 16:07:22 obagent program health check x
2023-09-08 16:07:22 [WARN] failed to start 127.0.0.1 obagent
2023-09-08 16:07:22 [ERROR] obagent start failed

看日志发现这样的错误提示:

[2023-09-08 08:09:13.578] [INFO] obagent program health check
[2023-09-08 08:09:14.579] [DEBUG] -- 127.0.0.1 program health check
[2023-09-08 08:09:14.580] [DEBUG] -- local execute: cat /root/obagent/run/ob_agentd.pid 
[2023-09-08 08:09:14.589] [DEBUG] -- exited code 0
[2023-09-08 08:09:14.589] [DEBUG] -- local execute: cat /root/obagent/run/ob_mgragent.pid 
[2023-09-08 08:09:14.600] [DEBUG] -- exited code 1, error output:
[2023-09-08 08:09:14.600] [DEBUG] cat: /root/obagent/run/ob_mgragent.pid: No such file or directory

应该是个BUG,可能是启动的时候判断因为存在/root/ob和/root/.obd有相关配置文件了,所以引起对/root/obagent之类的误判导致启动不了,建议从启动流程上排查。

【复现路径】
复现的方法:挂载/root/ob和/root/.obd目录后,docerk run启动ob。然后再docker rm删掉,再docker run启动ob,就会报这个错误。

【附件】
AFE92FFE-DCCF-4df6-98BB-48215F911074.txt (59.6 KB)

这个我们这边测一下试试先

/root/obagent也挂载了吗

经过多次测试,找到临时解决方案了,除了挂载/root/ob和/root/.obd外,还要把/root/obagent挂载,然后rm -rf /root/obagent/run/*就能成功重启,100%成功。