我想更熟悉docker,我想知道使用docker将java-webapp作为服务运行的最佳实践和生命周期是什么。
我的图像是否已经运行tomcat,还是应该在运行图像时启动tomcat?
我将使用数据卷来持久存储。那个容器的状态是什么?总是在运行,或只是让一个容器处于停止状态。
如果我的app-container停止,如果我重新启动它会发生什么?它会在停止的状态下恢复,还是从顶部重新启动?
答案 0 :(得分:0)
最简单的方法是设置一个包含tomcat服务器二进制文件的容器。并且还将自定义java-webapp复制到tomcat服务器的webapps文件夹,以便每次启动tomcat时自动加载它。对于此容器,您可以将入口点指定为tomcat bin文件夹中可用的startup.sh脚本。因此,每次使用run命令启动docker容器时,都会启动tomcat服务器,然后加载java-webapp。
如果你想让tomcat一直运行,那么容器应该处于运行状态。请注意,您在tomcat中作为自定义应用程序的一部分所做的任何更改或对tomcat配置的任何更改,您都需要使用docker commit将容器的状态保存为新映像或覆盖现有映像。否则,如果容器停止,则所有更改都将丢失,并在构建容器时返回到原始配置。所以,是的,如果容器停止,它将从顶部重新启动,因为tomcat服务器将再次启动并加载java-webapp。