Построение конвейера CI/CD от VSTS до Azure-container-service Я столкнулся с проблемой подключения файлов traefik.toml и docker.sock.
Развертывание использует туннель SSH для создания папки /Deploy/ и копирования файлов docker-compose.yml и traefik.toml. Файлы есть, контейнеры раскручены. Тем не менее, не обрабатывается traefik, потому что он не «видит» контейнеры.
Учебник по traefik показывает, что мы можем смонтировать подобное в docker-compose.yml:
version: '2'
services:
proxy:
build:
context: .
dockerfile: /Traefik/dockerfile
restart: always
command: --web --docker --docker.domain=docker.localhost --logLevel=DEBUG
networks:
- internal
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /dev/null:/traefik.toml
Это прекрасно работает на моей машине с Windows 10, на которой работает docker 17.09.0-ce. Но при развертывании в Azure-Container-Service я получаю следующую ошибку:
ERROR: Named volume "\var\run\docker.sock:/var/run/docker.sock:rw" is used in service "proxy" but no declaration was found in the volumes section.
https://github.com/docker/compose/issues/3073 выбирает дополнительная точка (.), чтобы указать, что это сопоставление с хост-томом. Попробовал, ошибок нет, но на самом деле не монтируется.
"Mounts": [
{
"Type": "bind",
"Source": "/home/dutchitworks/deploy/.\\var\\run\\docker.sock",
"Destination": "/var/run/docker.sock",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
},
{
"Type": "bind",
"Source": "/home/dutchitworks/deploy/.\\dev\\null",
"Destination": "/traefik.toml",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}
],
он добавляет файл /home/dutchitworks/deploy/. откуда-то...
Приветствуются любые идеи о том, как правильно сопоставить traefik.toml...