Docker有没有可能重新启动CMD指令?

我有一个非常简单的情况。

我有一些Dockerfile CMD指令启动JETTY。 在执行了一些testing后,由于testing数据的变化,我需要重新启动JETTY。

而且由于docker是单进程应用程序,我无法重启JETTY进程。 什么将是适当的解决scheme呢?

谢谢,Sergii

有几种方法可以继续,取决于你需要重新启动Jetty的频率。

  1. 在容器上使用docker restart 。 这将重新运行命令或入口点,并且可以自动执行。 要么 …
  2. 使用docker exec -it /bin/bash进入容器并手动重启JETTY。 当你想更多地与它进行交互和debugging的时候,它是有用的,但是对于生产来说不是一个好的做法。 要么
  3. 在容器中configuration一个主pipe或类似的监视器来监视内容何时改变并自动重启Jetty。 这是一个很常见的做法,即使它打破了“一个进程”的想法。 或者,您可以在容器的外部(主机上)添加这种监视器,并使用它来自动执行上述1)。