TeamCity On-Premises 2021.1 Help

Docker Compose

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.

Common Settings

This runner is a part of the TeamCity-Docker integration toolset. Refer to this page for information on software requirements, supported environments, and other common aspects of this integration.

Available step execution policies are described here.

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:

# The commands are executed on the current working directory, where the docker-compose file resides. docker-compose -f <docker-compose.yml> [-f <docker-compose2.yml>] up -d # At the end of the build, for each Docker Compose build step the build agent will run: docker-compose -f <docker-compose.yml> [-f <docker-compose2.yml>] down -v

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 Docker Wrapper when it is used in some build runners.

Last modified: 05 March 2021