Docker容器化整体应用程序

时间:2018-08-24 12:32:30

标签: java docker spring-boot containers

我们刚刚使用Spring Boot启动了一个新项目,该项目将具有整体架构。有一些关于使用docker容器化应用程序的讨论。

除了易于在不同平台上进行部署之外,还有其他好处吗?

我还想了解自动缩放是否在这里适用。如果是,怎么办?

提前谢谢!

2 个答案:

答案 0 :(得分:1)

我认为这实际上取决于您的应用程序规模。当然,主要好处肯定是可以在内部或在云提供商上轻松进行部署和开发。

如果您正在与Spring一起运行其他应用程序,例如数据库,缓存服务器或其他应用程序,则应查看docker-compose。它不仅可以简化Spring应用程序的部署,而且还可以简化所有依赖项。

如果您打算使用docker swarm将应用程序扩展到多个节点,则Docker也可以提供很多帮助。

对于自动缩放,Docker并没有真正支持它,但是您可以使用docker swarm之上的其他工具来实现它。

答案 1 :(得分:1)

我只是想补充一点,很多人倾向于专注于部署,但是网络安全的好处是巨大的。本身可以被视为高级监狱的进程隔离可能为Docker提供了理由。

另一个优势是它为您的CI / CD工作和方法提供了补充。通过在应用程序构建过程中包含构建图像的过程,可以更好地控制整个过程,包括更好地了解各个周期。

除此之外,您还扩展了可以轻松安装和运行应用程序的生态系统。添加了集群或kubernets的支持,您可以使用当前经过强化和管理的解决方案。

我们可以一面谈一下可伸缩性,如果您的映像是要与其自身的副本配合使用,或者如果您放置的容器是硬件本身具有弹性的话。当您使用手段来控制硬件使用以防止服务争夺资源时,可伸缩性也进入了讨论。如果没有群集,则也是如此,因为您还可以管理主机中的硬件使用情况。

现在,这实际上取决于您的需要和技巧。例如,即使不考虑可伸缩性,某些环境也会以明显的方式受益。例如,您可以创建的内部网络是实现Docker的绝佳借口,您可以在小型主机中获得进程隔离和网络隔离。当然,Docker并不是要成为网络安全解决方案,但它可以使您拥有的安全性加起来。