我是码头工人。我有一个Spring启动应用程序,我想要使用docker进行部署和运行。将战争文件图像放入容器中是否是一种好的做法,或者最好将jar文件放入容器中?为什么?将war文件映像放入docker容器是一种很好的做法吗?
P.S.一旦我读到“制造罐子而不是战争”:-)更好,但不知道背后的原因。
我是码头工人。我有一个Spring启动应用程序,我想要使用docker进行部署和运行。将战争文件图像放入容器中是否是一种好的做法,或者最好将jar文件放入容器中?为什么?将war文件映像放入docker容器是一种很好的做法吗?
P.S.一旦我读到“制造罐子而不是战争”:-)更好,但不知道背后的原因。
其中一个主要的原因为建设一个码头工人形象,为您的应用程序是提供制造品,人们可以在不安装和管理外部软件依赖关系(如应用程序服务器来运行一个war文件)运行。
从容器用户的角度来看,这都没有区别你是否在一个罐子或战争文件或一个FORTRAN二进制包你的代码。他们所做的只是运行一个容器图像。
从你身边,执行Docker构建和配置管理,打包jar文件和复制将是一个比尝试设置和配置应用服务器进行打包,然后将每个发行版部署到应用服务器更简单的解决方案。请参阅Ohmens answer了解更多java构建的技术组件。
谢谢马特!非常全面! – Lina
马特的答案是正确的,但你必须要考虑一些更多的点。
jar
内,则必须重新编译整个项目才能使用该更新版本。顺便说一句,大多数应用程序服务器都有自动部署机制来轻松部署战争。
你可以把JAR,WAR,SAR,或在泊坞窗任何类型的文件。取决于你想要达到的目标。 – atv
所以对于一个春季启动应用程序,这两种方式都是常见的做法? – Lina