如何在docker中重启tcserver实例?

时间:2015-12-21 15:18:58

标签: docker dockerfile docker-compose dockerhub tcserver

我正在使用docker创建一个tcserver实例,当我执行

时它已成功停止
  

./ tcruntime-ctl.sh stop

但是,当我执行

时,实例未成功重新启动
  

./ tcruntime-ctl.sh运行

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

请注意,我使用 运行 命令将tcserver实例作为前台进程运行

1 个答案:

答案 0 :(得分:0)

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

#!/bin/sh

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