7

我创建了相当多的 docker-compose 脚本,这些脚本产生了几个服务。我现在想在 JVM 中控制 docker-compose。基本上,我希望能够执行upand down,最好是使用-p <project name>参数,这样我就可以同时生成多个实例。

这在Java中可能吗?

4

2 回答 2

4

您可以采取两种可能的方法:

  1. 使用普通命令执行器运行 docker-compose up/down(例如,借助 ProcessBuilder 并运行 OS 命令)
  2. 使用原生docker SDK,目前官方支持 golang 和 python,但是 java docker 客户端可以在这里这里找到。目前,我正在使用带有 golang 的 docker SDK,并且看到我们可以使用 docker 以编程方式完成几乎所有事情。
于 2017-11-12T15:46:37.037 回答
2

Docker Compose 是一个 python 实用程序,它与所有其他 Docker 客户端一样直接与相同的 Docker API 对话。它发送的命令没有本质上的不同,但它确实在它的代码中为你管理了大量的 Docker 容器生命周期。

Compose 基于dockerpython 模块,它只是另一个 python Docker API 客户端。

在 Java 中重新实现它可能需要很多时间,这里是up方法。如果您确实需要从 JVM 执行此操作,或者坚持从 Java 执行命令,也许可以尝试使用Jython来实现。docker-compose

于 2017-11-13T07:24:31.450 回答