我是码头工人的新手。我有一个Spring-boot应用程序,我想使用docker部署和运行它。将war文件图像放入容器中是不是一个好习惯,或者最好将jar文件放入容器中?为什么呢?
P.S。一旦我读到它就会更好地制作罐子而不是战争" :-)但不知道背后的原因。
答案 0 :(得分:5)
为您的应用程序构建docker镜像的一个主要原因是提供一个人工可以运行的人工制品,而无需安装和管理外部软件依赖项(例如运行war文件的app服务器)。
从容器用户的角度来看,将代码打包在jar或war文件中还是作为fortran二进制文件都没有区别。他们只是运行一个容器图像。
从您的角度来看,执行Docker构建和配置管理,打包jar文件和复制将比尝试设置和配置应用服务器以打包然后将每个版本部署到应用服务器更简单。有关java build的更多技术组件,请参阅Shaun Inman。
答案 1 :(得分:4)
马特的回答是正确的,但你必须考虑其他一些观点。
jar
内,则必须重新编译整个项目以使用该更新版本。 BTW大多数应用程序服务器都有自动部署机制来轻松部署战争。