Docker与Spring Boot / Dropwizard是互补还是竞争?

我今天做了一些研究,寻找Docker,Spring Boot和Dropwizard之间差异 。 但是,我发现了几个博客post和关于如何“dockerize”Spring Boot / Dropwizard应用程序的文章。

在我的理解中, Spring Boot / Dropwizard与Docker非常相似 :可以用它作为“容器”来构build和打包(Java)应用程序(JAR / WAR)。 除了所有这三种select之外,(我认为) 您还需要额外的框架或脚本来实现集群pipe理,弹性,服务发现等function。 对于Docker,您可以使用诸如Kubernetes或Amazon ECS之类的东西。 我还读到,有些人正在为Spring Boot开发Kubernetes集成。

因此,我想知道: Docker和Spring Boot / Dropwizard是否真的是互补的,而不是竞争? 或者你为什么只在网上find关于如何结合他们的文章,而不是他们有什么不同?

感谢一些解释。

Spring Boot是一个创build微服务和可运行jar的框架(除了其他的东西)。 是的,你可以自行运行这些jar子,但是你没有得到一个生态系统 – 操作系统,Splunk Forwarder都包含在项目的范围之内。

Docker是一种以集装箱的方式提供这些微服务的机制,这样所有东西都是自包含的,并且是可移植的。

SpringBoot将包含您的核心应用程序,其中Docker映像将包含可以公开端点的自包含基础结构。

您的可部署单元将是一个docker的形象,其中包含一个弹簧jar,splunk-forwarder,日志(除其他外)

因此,Docker是互补的而不是竞争性的。 希望这可以帮助