Distributed Build Management and Continuous Integration Server
teamcity-server-docker is a TeamCity Server image running Docker-outside-Docker (Dood). For CI/CD this is often preferred over Docker-in-Docker (DinD) as perfectly summarized by Jérôme Petazzoni
By default, each TeamCity installation runs under a Professional Server license including 3 build agents. This license is provided for free with any downloaded TeamCity binary and gives you full access to all product features with no time limit. The only restriction is a maximum of 20 build configurations.
By pulling this image you accept the JetBrains license agreement for TeamCity (Commercial License)
The tag versions match the version of TeamCity Server with v version number appended to the end. This number will start at v0 with each new release of TeamCity will be increment based on non TeamCity Server changes within that version of TeamCity. For example, TeamCity server version 9.1.7 with two updates to the base image would have a tag of
By default no volumes are mounted, so if persisting the TeamCity configuration beyond the lifespan of the container is desirable then make sure to mount a host volume. Example run command that includes mounting docker.sock for DooD and host volume.
docker run -p 8111:8111 --name=teamcity -v </teamcity/host/path>:/var/lib/teamcity -v /var/run/docker.sock:/var/run/docker.sock stepsaway/teamcity-server-docker:latest
Howto upgrade to a new version?
docker pull stepsaway/teamcity-server-docker:latest
- stop the old container
docker run --name=teamcity -p 8111:8111 -v </teamcity/host/path>:/var/lib/teamcity -v /var/run/docker.sock:/var/run/docker.sock stepsaway/teamcity:latest