简体   繁体   English

Solr在Docker中运行时优雅地停止

[英]Stop Solr gracefully when it running in docker

I am running a solr in docker container 我在docker容器中运行solr

My docker ENTRYPOINT is $SOLR_HOME/bin/solr start ${options} 我的码头工程ENTRYPOINT$SOLR_HOME/bin/solr start ${options}

currently when I am running docker stop <container Id> its kill the process but solr stops incorrectly 目前,当我运行docker stop <container Id>它会终止进程,但solr会错误地停止

In order to stop Solr correctly we need to run : $SOLR_HOME/bin/solr stop 为了正确停止Solr,我们需要运行: $SOLR_HOME/bin/solr stop

How do I config docker to call solr stop command when docker stop <container Id> is executed? docker stop <container Id>执行时,如何配置docker调用solr stop命令?

When running $SOLR_HOME/bin/solr stop , the kernel sends a SIGQUIT signal to the process. 当运行$SOLR_HOME/bin/solr stop ,内核会向进程发送SIGQUIT信号。 To duplicate this in docker, you need to run docker kill --signal="SIGQUIT" <ContainerName> rather than docker stop. 要在docker kill --signal="SIGQUIT" <ContainerName>复制它,您需要运行docker kill --signal="SIGQUIT" <ContainerName>而不是docker stop。 Docker Stop sends a SIGTERM signal by default. Docker Stop默认发送SIGTERM信号。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM