Я использую хост Docker.В нем есть контейнер Jenkins, выполняющий сборки Docker и включающий контейнеры с помощью docker-compose.
Контейнер Jenkins запускается с -v /var/run/docker.sock:/var/run/docker.sock,поэтому он вызывает все контейнеры Docker на хосте.
Однако это создает проблему с точкой монтирования /app.
x-volumes:
&default-volumes
# Define all volumes you would like to have real-time mounted into the docker containers
volumes:
- .:/app:delegated
- / на хосте Docker, расположенном в/ Users / имя пользователя / Dropbox / app
- / приложение в контейнере Jenkins находится в / var / jenkins_home / workspace / build-docker-images (клонировано через файл Jenkinsfile)
Docker-compose для контейнера jenkins пытается перевести контейнер в оперативный режим с помощью пути -v / var / jenkins_home / workspace / build-docker-images: / app, но этот путь не существует на хосте Docker, только вДженкинс-контейнер.
Я взломал его так:
x-volumes:
&default-volumes
# Define all volumes you would like to have real-time mounted into the docker containers
volumes:
- /Users/username/Dropbox/app:/app:delegated
Но это похоже на хаккейное решение.Есть лучшие идеи, чтобы это исправить?