您如何使用容器(Docker 个容器)的概念交付您的应用程序
How do you deliver your application using the concept of containers (Docker containers)
这是一个关于使用容器交付和开发微服务的问题。
您如何使用容器的概念交付您的应用程序?我真的需要在每次构建时为我的应用程序生成一个 Docker 容器吗?甚至本地构建?
我是否需要将 Spring 启动应用程序、Node.js 应用程序或其他类型的应用程序复制到我的 Docker 容器中?或者用我的应用程序安装一个卷是最好的方法吗?
是否也需要在本地使用容器进行开发?或者在 Spring Boot 中,例如,最好的方法是在像 Eclipse 或 Idea 这样的 IDE 中 运行 Application.class 在本地环境中测试我的代码?
首先,如果您想使用 docker 容器 部署 ,您的构建系统应该生成 docker 个图像,并且您的暂存环境应该 运行那些图片。
本地发展是另一回事。有几种方法可以解决这个问题,每种方法都有自己的 pros/cons:
始终构建 docker 图像,即使是本地构建。好处是您的本地测试是 "authentic",因为您正在针对与最终部署在生产中的容器相同的容器进行测试。明显的缺点是 docker 构建速度可能很慢(即使有缓存)。
使用与生产映像相同的 运行time 环境构建一个 docker 映像,但将您的实时代码装载到其中。有些人喜欢这种方法,因为它在花费大量时间构建图像与拥有真实的 运行 时间环境之间实现了更好的权衡。它还有一个好处,就是您可以与同事共享您的环境,这样每个人都可以在相同的 运行 时间环境下进行测试。
使用你当前的本地环境,忘记本地开发中的docker。这是最简单的方法,如果您不需要 运行 在本地进行大量端到端测试,我认为这也是一种很好的方法。如果您需要在本地做的只是编写代码和 运行 一堆单元测试,并且您已经有一个单独的暂存环境来 运行 使用真实容器进行端到端测试,使用 docker在本地并没有增加多少价值。
简而言之,运行在本地 docker 是进行 "authentic" 端到端测试的一种廉价方法,但它增加了复杂性并且坦率地说不能(也不应该)更换一个好的舞台设置。
这是一个关于使用容器交付和开发微服务的问题。
您如何使用容器的概念交付您的应用程序?我真的需要在每次构建时为我的应用程序生成一个 Docker 容器吗?甚至本地构建?
我是否需要将 Spring 启动应用程序、Node.js 应用程序或其他类型的应用程序复制到我的 Docker 容器中?或者用我的应用程序安装一个卷是最好的方法吗?
是否也需要在本地使用容器进行开发?或者在 Spring Boot 中,例如,最好的方法是在像 Eclipse 或 Idea 这样的 IDE 中 运行 Application.class 在本地环境中测试我的代码?
首先,如果您想使用 docker 容器 部署 ,您的构建系统应该生成 docker 个图像,并且您的暂存环境应该 运行那些图片。
本地发展是另一回事。有几种方法可以解决这个问题,每种方法都有自己的 pros/cons:
始终构建 docker 图像,即使是本地构建。好处是您的本地测试是 "authentic",因为您正在针对与最终部署在生产中的容器相同的容器进行测试。明显的缺点是 docker 构建速度可能很慢(即使有缓存)。
使用与生产映像相同的 运行time 环境构建一个 docker 映像,但将您的实时代码装载到其中。有些人喜欢这种方法,因为它在花费大量时间构建图像与拥有真实的 运行 时间环境之间实现了更好的权衡。它还有一个好处,就是您可以与同事共享您的环境,这样每个人都可以在相同的 运行 时间环境下进行测试。
使用你当前的本地环境,忘记本地开发中的docker。这是最简单的方法,如果您不需要 运行 在本地进行大量端到端测试,我认为这也是一种很好的方法。如果您需要在本地做的只是编写代码和 运行 一堆单元测试,并且您已经有一个单独的暂存环境来 运行 使用真实容器进行端到端测试,使用 docker在本地并没有增加多少价值。
简而言之,运行在本地 docker 是进行 "authentic" 端到端测试的一种廉价方法,但它增加了复杂性并且坦率地说不能(也不应该)更换一个好的舞台设置。