Как запустить docker compose из Java-приложения? - PullRequest
0 голосов
/ 11 декабря 2018

Я хотел бы запустить docker compose из моего java-кода - например, когда я преобразую свои данные в правильный формат, запустить docker compose с помощью logstash, который перенаправит данные в эластичный поиск.

Как я могу это сделать (также независимо от платформы)?

Спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Я думаю, что в этом случае вы можете использовать тестовые контейнеры.

Короче говоря.Более подробная информация в документации.Вы можете легко создавать Docker Compose, который основан на 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

0 голосов
/ 12 декабря 2018

Если вы просто хотите запустить docker compose из командной строки, вы можете выполнить команду оболочки из java.Пример: Хотите вызвать команду оболочки Linux из Java .

...