首页 > 解决方案 > 如何从 Java 应用程序运行 docker compose?

问题描述

我想从我的 java 代码中运行 docker compose - 例如,当我将数据转换为正确的格式时,使用 logstash 运行 docker compose,这会将数据倒入 elasticsearch。

我该怎么做(也在平台上独立)?

感谢您的任何帮助。

标签: javaelasticsearchdocker-composelogstash

解决方案


我认为在这种情况下,您可以使用测试容器。

长话短说。更多细节在文档中。您可以轻松创建基于compose-test.yml

public static DockerComposeContainer environment =
    new DockerComposeContainer(new File("src/test/resources/compose-test.yml"))
            .withExposedService("redis_1", REDIS_PORT)
            .withExposedService("elasticsearch_1", ELASTICSEARCH_PORT);

compose-test.yml好像:

redis:
  image: redis
elasticsearch:
  image: elasticsearch

这是文档的链接:

https://www.testcontainers.org/usage/docker_compose.html


推荐阅读