如何使用容器概念(Docker容器)交付应用程序

时间:2017-05-14 03:22:51

标签: docker continuous-integration containers development-environment continuous-delivery

这是一个关于使用容器交付和开发微服务的问题。

您如何使用容器概念交付应用程序?我是否真的需要在每次构建时使用我的应用程序生成Docker容器?甚至本地建设?

我是否需要将Spring Boot应用程序,Node.js应用程序或其他类型的应用程序复制到Docker容器中?或者使用我的应用程序安装卷是最好的方法吗?

我是否需要使用容器在本地环境中开发?或者在Spring Boot中,最好的方法是在Eclipse或Idea等IDE中运行Application.class,以便在本地环境中测试我的代码?

1 个答案:

答案 0 :(得分:0)

首先,如果您想使用docker容器部署,您的构建系统应该生成docker镜像,并且您的暂存环境应该运行这些图像。

本地发展是另一回事。有几种方法,每种方法都有自己的优点/缺点:

  1. 即使是本地构建,也始终构建一个docker镜像。好处是您的本地测试是“真实的”,因为您正在测试与最终在生产中部署的容器相同的容器。明显的缺点是docker构建可能很慢(即使使用缓存)。

  2. 使用与生产映像相同的运行时环境构建docker映像,但将实时代码安装到其中。有些人喜欢这种方法,因为它在花费大量时间构建图像与拥有真实的运行时环境之间实现了更好的权衡。它还有一个好处,即您可以与同事共享您的环境,以便每个人都使用相同的运行时环境进行测试。

  3. 使用您当前的本地环境,忘记本地开发中的docker。这是最简单的方法,如果您不需要在本地运行大量的端到端测试,我认为它也是一个很好的方法。如果您需要在本地完成所有工作就是编写代码并运行一系列单元测试,并且您已经有一个单独的暂存环境来运行真实容器的端到端测试,那么在本地使用docker不会增加更多的价值

  4. 简而言之,在本地运行docker是进行“真实”端到端测试的一种廉价方式,但它增加了复杂性,坦率地说不能(也不应该)取代好的分段设置。