23 lines
1.8 KiB
Markdown
23 lines
1.8 KiB
Markdown
# Teamcity
|
||
|
||
Запискаем докер, когда запускаем докер!
|
||
|
||
Внутренний ТС. Подробнее в (Confluence)[https://confluence.archive.systems/display/PRO/TeamCity]
|
||
|
||
## Tl;dr
|
||
Самое главное, что:
|
||
1. прокидываем сокет демона ХОСТА в контеры агентов (docker in docker)
|
||
2. монтируем агентские рабочие папки из агентов на хост, чтобы демон (см. 1) мог увидеть файлы по относительным путям
|
||
|
||
## Траблшутинг
|
||
Нельзя использовать ```_``` или ```-``` в названии сервисов! [Docker Compose DNS issues with Team City Agent](https://stackoverflow.com/q/46013774)
|
||
|
||
Нужно примаунтить директории, в которые чекаутится проект, чтобы избежать проблемы отсутствия файлов в первом докере (чтобы можно было запускать контейнеры внутри!). Первая ссылка - описание проблемы, вторая - солюшн.
|
||
* [Using docker compose inside a running container](https://github.com/docker/compose/issues/3918#issuecomment-483969527)
|
||
* [Unable to start any build step with Docker Wrapper on an agent from official docker image](https://youtrack.jetbrains.com/issue/TW-52017?_ga=2.31155327.1161243431.1566480946-540401972.1563195305)
|
||
|
||
## Запуск на локальной машине в исследовательских целях
|
||
Для этого можно глянуть в [Multiple Compose files](https://docs.docker.com/compose/extends/#understanding-multiple-compose-files) или просто сделать:
|
||
```bash
|
||
docker-compose -f docker-compose.yml -f docker-compose.local.yml up -d
|
||
``` |