如何在 docker 内重启 tcserver 实例?

How to restart tcserver instance within docker?

我正在使用 docker 创建一个 tcserver 实例,当我这样做时它已成功停止

./tcruntime-ctl.sh stop

但是,当我这样做时实例没有成功重启

./tcruntime-ctl.sh run

原因是 PID 文件 (PID=1) 仍然存在且未被删除

请注意,我运行使用 运行[=24= 将 tcserver 实例设置为前台进程] 命令

如果错误只是存在来自先前 运行 的残留 pid 文件,解决方法是在调用 tcruntime-ctl.sh 脚本之前删除该 pid 文件。由于 tcServer 实例的生命周期与 docker 容器的生命周期相关,因此可以安全地假设 pidfile 中引用的进程先前已经退出。您可以编写自己的脚本,在 execing tcruntime.sh 之前进行清理,或者在前面添加类似以下内容:

#!/bin/sh

pidfile=$(dirname [=10=])/../logs/tcserver.pid
if [ -f $pidfile ] ; then
    rm $pidfile
fi