The Docker Compose build runner allows starting Docker Compose build services and shutting them down at the end of the build. With this runner, you can run multi-container Docker apps.
This runner is a part of the TeamCity-Docker/Podman integration toolset. Refer to this documentation article for information on software requirements, supported environments, and other common aspects of this integration: Integrating TeamCity with Container Managers.
Available step execution policies are described here.
Docker Compose Installation Options
There are two options to install Docker Compose on TeamCity agents:
For better backward compatibility, TeamCity first checks whether the standalone Compose binary is installed. If yes, the runner uses the outdated Compose V1 syntax to run commands (for example,
docker-compose up). Otherwise, the runner looks for the installed plugin and switches to the modern Compose V2 syntax (for example,
docker compose up).
Docker Compose Settings
The Docker Compose runner supports one or multiple Docker Compose YAML file(s) with a description of the services to be used during the build. The path to the
docker-compose.yml file(s) should be relative to the build checkout directory. When specifying multiple files, separate them with a space.
A build agent will execute the following
docker-compose commands during the build:
If the pull image explicitly option is enabled,
docker-compose pull will be run before the
docker-compose up command.
When using Docker Compose with images which support HEALTHCHECK, TeamCity will wait for the
healthy status of all containers that support this parameter.
If the start of Docker Compose was successful, the TeamCity agent will register the
TEAMCITY_DOCKER_NETWORK environment variable containing the name of the Docker Compose default network. This network will be passed transparently to the Container Wrapper when it is used in some build runners.