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

Docker Is there a possibility to restart CMD instruction?

我有一个非常简单的场景。

我有一些 Dockerfile,其中 CMD 指令启动 JETTY。 执行一些测试后,由于测试数据发生变化,我需要重新启动 JETTY。

而且我无法重启 JETTY 进程,因为 docker 是单进程应用程序。 什么是正确的解决方案?

谢谢 此致,谢尔盖

根据您需要重新启动 Jetty 的频率,您可以通过多种方式继续。

  1. 在容器上使用 docker restart。这将重新运行命令或入口点,并且可以自动化。或者...
  2. 使用docker exec -it /bin/bash进入容器,手动重启JETTY。当您想与其进行更多交互和调试时很有用,但不是生产的好习惯。或
  3. 在容器内配置一个 supervisor 或类似的东西来监视内容何时更改并自动重启 Jetty。这是一种很常见的做法,尽管它打破了 "one process" 的想法。或者,您可以在容器外部(在主机上)添加这种监视器,并使用它来自动化上面的 1)。