Docker有没有可能重新启动CMD指令?
Docker Is there a possibility to restart CMD instruction?
我有一个非常简单的场景。
我有一些 Dockerfile,其中 CMD 指令启动 JETTY。
执行一些测试后,由于测试数据发生变化,我需要重新启动 JETTY。
而且我无法重启 JETTY 进程,因为 docker 是单进程应用程序。
什么是正确的解决方案?
谢谢
此致,谢尔盖
根据您需要重新启动 Jetty 的频率,您可以通过多种方式继续。
- 在容器上使用
docker restart
。这将重新运行命令或入口点,并且可以自动化。或者...
- 使用
docker exec -it /bin/bash
进入容器,手动重启JETTY。当您想与其进行更多交互和调试时很有用,但不是生产的好习惯。或
- 在容器内配置一个 supervisor 或类似的东西来监视内容何时更改并自动重启 Jetty。这是一种很常见的做法,尽管它打破了 "one process" 的想法。或者,您可以在容器外部(在主机上)添加这种监视器,并使用它来自动化上面的 1)。
我有一个非常简单的场景。
我有一些 Dockerfile,其中 CMD 指令启动 JETTY。 执行一些测试后,由于测试数据发生变化,我需要重新启动 JETTY。
而且我无法重启 JETTY 进程,因为 docker 是单进程应用程序。 什么是正确的解决方案?
谢谢 此致,谢尔盖
根据您需要重新启动 Jetty 的频率,您可以通过多种方式继续。
- 在容器上使用
docker restart
。这将重新运行命令或入口点,并且可以自动化。或者... - 使用
docker exec -it /bin/bash
进入容器,手动重启JETTY。当您想与其进行更多交互和调试时很有用,但不是生产的好习惯。或 - 在容器内配置一个 supervisor 或类似的东西来监视内容何时更改并自动重启 Jetty。这是一种很常见的做法,尽管它打破了 "one process" 的想法。或者,您可以在容器外部(在主机上)添加这种监视器,并使用它来自动化上面的 1)。