Up until recently, when one was doing docker-compose up
for a bunch of containers and one of the started containers stopped, all of the containers were stopped.
In your docker compose file, setup your test driver container to depend on other containers (with depends_on
parameter). Your docker compose file should look like this:
services:
application_server:
...
selenium:
...
test_driver:
entry_point: YOUR_TEST_COMMAND
depends_on:
- application_server
- selenium
With dependencies expressed this way, run:
docker-compose run test_driver
and all the other containers will shut down when the test_driver
container is finished.
This solution is an alternative to the docker-compose up --abort-on-container-exit
answer. The latter will also shut down all other containers if any of them exits (not only the test driver). It depends on your use case which one is more adequate.