将 java 程序的所有依赖服务 docker 化为一个 docker 容器是个好主意吗

Is it a good idea to dockerize all dependent services for a java program as one docker container

我是一名 java 程序员。我有一个 java 程序依赖于 Cassandra、elastic search、mongdb 和 Kafka ..所以每次我尝试 运行 我的java 应用程序我必须启动所有这些服务.. 所以你认为创建一个包含所有这些服务的 docker 容器并将 docker 文件作为其中的一部分签入是个好主意那个 java 项目 ?

虽然您可以将应用程序的所有依赖项捆绑到映像中,但这并没有多大意义,尤其是当这些组件可能 运行 位于不同环境的不同位置时。

这正是 Compose project(原图)要解决的问题。与应用程序的 Dockerfile 一起,您将有一个 docker-compose.yml 文件来描述服务以及它们如何 link 彼此。它还具有设置应用程序构建位置的选项,以便您可以仅使用 docker-compose 实用程序构建和启动应用程序。