如何正常关闭在docker中运行的服务器

can*_*dry 15 shutdown mongodb docker

我通过docker文件中的ENTRYPOINT配置启动mongodb.它工作正常.但是,当我执行时:

docker stop <containerid>
Run Code Online (Sandbox Code Playgroud)

它似乎是在向流程发送SIGTERM.这意味着mongod.lock文件未被清除.如何正常关闭正在运行的docker容器,以便将正确的信号发送到docker中运行的进程?

cre*_*ack 12

我不太明白.docker stop <id>确实会发送一个SIGTERM.这是设计的.如果进程在超时(默认为10秒)内未正确关闭,则会发出SIGKILL.

目前,我们确实遇到了信号传播的问题.这是由于pid命名空间和进程有一个pid 1的事实.这应该很快就会被新的执行插件修复.

  • 你可以做`docker kill -s INT <id>` (8认同)