Есть ли рекомендуемый способ проверки составного файла Docker (в идеале, развернутого в виде стеков)? - PullRequest
1 голос
/ 03 июля 2019

В философии, что каждый компонент программного обеспечения должен быть протестирован, есть ли способ протестировать составной файл Docker?

Мы уже знаем о рекомендуемом Docker способе тестирования Docker-файлов отдельных контейнеров сsut service: https://docs.docker.com/docker-hub/builds/automated-testing/

Тем не менее, обычно собирается несколько контейнеров в виде services файла docker-compose.yml.Тем не менее, мы не знаем о каком-либо «рекомендованном» (официальным документом или сообществом) подходе для реализации такого теста.


Наивно, мы могли бы написать несколько docker-compose.stacktest.yml в строке:

version: '3.5'
services:
  stacktest:
    image: my-test-image
    command: test.sh

Затем запустите что-то вроде:

docker stack deploy -c docker-compose.yml -c docker-compose.stacktest.yml tester

И все же нам интересно узнать, есть ли что-то более общепринятое там?

1 Ответ

0 голосов
/ 03 июля 2019

Один из подходов, которые я бы использовал, - это использование testcontainers-java https://github.com/testcontainers/testcontainers-java Он имеет функцию, где он запускает файл docker-compose https://www.testcontainers.org/modules/docker_compose/

Идея может состоять в том, чтобы написать кучу тестов на Java, которые запускают docker-compose и пишут на них утверждения.

Я никогда не пробовал testcontainers-java для этой цели, но думаю, что это будет работать

...