Docker:如何重新启动容器内的进程?

我有一套我想在docker集装箱上运行的testing。 在testing中间,我正在改变我的testing数据,我需要重新启动JETTY。

什么是最好的方法来做到这一点?

我可以想象一些select:

  1. 用SSH – 但是对于docker ssh不是最好的select。

  2. docker上的Python代理侦听套接字 – 暴露一个端口,连接并重新启动jetty。

也许有更好的想法呢?

谢谢

听起来像你试图重新启动的过程是docker容器的主要过程(也就是你在Dockerfile中设置的那个,如果你有的话),当你在容器中运行'ps -ef'时,你会看到PID为你的进程设置为1)。 如果是这种情况,那么您不能从容器内重新启动它。 你应该重新启动容器本身:

docker restart <container_id> 

input容器并重新启动它。

手动方式:

 docker exec -it <containeridorname> /bin/bash 

或自动化方式:

 docker exec -it <containeridorname> /restartjettycommand.sh