You are viewing the documentation of TeamCity 2018.x, which is not the most recently released version of TeamCity.
Go to the latest TeamCity documentation or refer to the listing to choose the documentation corresponding to your TeamCity version.

Skip to end of metadata
Go to start of metadata

TeamCity-Docker integration includes the Docker Compose runner.



The integration requires Docker installed on the build agents. Docker Compose also needs to be installed to use the Docker Compose build runner.

Supported Environments

TeamCity-Docker support can run on Mac, Linux, and Windows build agents. It uses the 'docker' executable on the build agent machine, so it should be runnable by the build agent user. 

  • On Linux, the integration will run if the installed Docker is detected. 
  • On Windows, the integration works for Linux and Windows container modes.
  • On macOS, the official Docker support for Mac should be installed for the user running the build agent.

Since version 2018.2, TeamCity has switched from Oracle Java to OpenJDK 8 (by AdoptOpenJDK). All Docker images have been updated to support OpenJDK.

Docker Compose

The runner allows starting Docker Compose build services and shutting down those services at the end of the build.

The Docker Compose runner supports one or several 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 checkout directory. When specifying several files, separate them with a space.

The executed commands are

If the checkbox pull image explicitly 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, which 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 used in some build runners. 


  • No labels


  1. Are there any plans to support the docker-compose build command?

    1. Hello,

      So far it looks quite simple to use Command-line runner for that. I.e. you can run docker-compose build command from this runner.

      If you think TeamCity can help you somehow further, please add a corresponding issue with description to our tracker: https://youtrack.jetbrains.com/newIssue?project=TW&clearDraft=true&c=tag+docker-plugin