Мы используем Docker compose в нашем конвейере тестирования и запускаем несколько тестов параллельно (из одного коммита, например, модульные тесты + статические тесты типизации + качество кода ...).Проблема заключается в том, что в одном из тестов нам нужно запустить стек службы docker-compose, а затем exec
в одном из контейнеров.
Однако из-за способа выполнения тестов docker-compose ps servicename
вернет несколько идентификаторов.
Мне нужно запустить docker-compose up -d
и немедленно получить ID (и) запущенной службы (служб).Использование docker-compose ps
не вариант.
Есть ли способ добиться этого?Единственный способ, который приходит мне в голову, - это использовать sed
для замены container_name
в моем docker-compose.yml
на детерминированное, но уникальное имя только для тестов CI, но это выглядит грязно.