【发布时间】:2016-10-14 00:18:37
【问题描述】:
总的来说,我是 Docker 和 Web 应用程序的初学者。我必须对一个使用 Kafka、Zookeeper 和 MongoDB 的大型 Spring Boot Java 应用程序进行 Dockerize 化。它还使用 Gradle 构建工具。 Dockerize 这个应用程序的最佳方法是什么?我应该将它 Dockerize 在一个映像中,还是为每个组件单独映像?
另外,如何将 Gradle 构建工具合并到 Dockerfile 中?
谢谢!
【问题讨论】:
-
“大型Java应用程序”目前如何部署或确保附属品Kafka、Zookeeper和MongoDB的存在和正确配置?这是一个重要的提示,您可以按照什么路线进入集装箱土地。您对“在 Dockerfile 中包含 Gradle 构建工具”的理解是什么,您的意思是 - 将 Dockerfile 视为一种 Makefile - 获得一些配方,即相关“调用”应写入文件中的 Dockerfile 的哪个语法元素?请提供更多细节。谢谢。
-
所以应用程序使用 Spring Boot 运行。有一个名为“application.properties”的外部配置文件,其中包含 Kafka、Zookeeper 和 MongoDB 的配置。它通过命令行传递,如下所示:
sudo -u root java -Dspring.config.location="location of config file" -jar javaApp.jar关于将 Gradle 合并到 Dockerfile 中,我现在认为最好先让 Gradle 构建 JAR 文件,然后让 Docker 使用它来解耦 Gradle 和 Docker (如下所述)。
标签: java docker apache-kafka apache-zookeeper dockerfile