java – Docker设置

前端之家收集整理的这篇文章主要介绍了java – Docker设置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我今天正在阅读Docker,甚至尝试在Vagrant的笔记本电脑上运行它.但是我仍然不清楚为什么,特别是如何将它介绍给我的团队.只是我看不到用例.

我明白你可以为web服务器和数据库创建容器.所以你可以说嘿,现在,我们使用的是我创建的custom-tomcat-1.0和custom-mysql-1.4容器.
到目前为然这么清楚我遇到的问题是这些“数据容器”.

我仍然可以理解,我将DB-data-1.4与DB容器的数据文件更新到当前的架构,我可以有WEB-app-3.5与我的部署,这将以某种方式对应于DB数据映像.

java怎么样?如果我有java DB,我将需要在所有使用它的容器上安装JVM?

到目前为止有什么意义吗?现在几件事我看不清楚他们的地方.

>开发人员如何在当地工作?他会创建一些WEB-app图像快照并启动它?或者以某种方式将跳过使用WEB-app图像,并将以某种方式将构建文件直接提供给服务器映像?
>用jenkins我想象它会从git下载代码.构建它并创建一些WEB应用程序映像快照.开始一切.现在我可以运行一些集成测试,将从外面使用应用程序,但如何?

基本上两个问题:您如何使用码头开发本地,以及如何执行集成测试.我需要真正的用例,所以我可以看到它的大图.我们使用的是maven,java,spring,sql db,jenkins,junit.

@H_301_17@最佳答案
码头工厂迫使您对应用程序中不可变的和可变的部分进行真正的考虑.不可变的部分被构建为基本图像,而可变部分被构建为容器(并且可能保持为图像).
例如,您可能会决定在特定开发发布周期中锁定操作系统版本和Java版本.这是不可变的部分,因此您可以基于此构建应用程序的基本映像.您的应用程序代码添加到基本映像并作为容器运行.

之后,当开发和测试完成并准备投入生产时,您可能需要针对最新的操作系统修补程序和Java更新来重新测试应用程序.此时,您可以从新版本的基本映像开始,然后重新运行测试.如果测试成功,这将成为您的构建的新基准.

如果您的数据库包含预定义的模式和/或预加载数据(不可变),则可以将其设计为仅数据卷并且只能在容器上加载.在应用程序测试运行期间对数据库进行的任何更新将仍然是容器文件系统层的一部分.

猜你在找的Docker相关文章