docker run \
-v team_city_data:/data/teamcity_server/datadir \
-v team_city_logs:/opt/teamcity/logs \
-p 8111:8111 \
-d jetbrains/teamcity-server
docker run -e SERVER_URL="http://public-ip:8111" \
-v team_city_agent_config:/data/teamcity_agent/conf \
-d jetbrains/teamcity-agent
docker run -e SERVER_URL="http://public-ip:8111" \
-v team_city_agent_config_two:/data/teamcity_agent/conf \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/local/bin/docker:/usr/bin/docker \
-d jetbrains/teamcity-agent
NOTE: for docker mount to work and docker commands to be executable inside the container, you need to set less stricter permission on docker on the host with the following command
chmod 666 /var/run/docker.sock