Итак, я использую gitlab-ci для развертывания моих сайтов в контейнерах докеров, потому что gitlab-ci docker runner, похоже, не делает того, что я хочу делать. Я использую и запустить его docker-compose up -d
. Здесь возникает проблема.Работа с данными в контейнерах Docker с Gitlab-Ci
У меня есть 2 тома в моем докер-контейнере. ./:/var/www/html/
(который является содержимым моего git-репо, поэтому файлы, которые я хочу заменить на сборке), и mount, который является «внутри» этого mount /srv/data:/var/www/html/software/permdata
(который является постоянным монтированием на моем сервере).
Когда запускается gitlab-ci runner, он пытается удалить все файлы во время работы контейнера, но из-за этого монтирования на нем он получает device busy
и прерывается. Поэтому я должен вручную остановить и удалить контейнер, прежде чем я смогу запустить мою сборку (какой вид побеждает точка автоматизации сборки).
Опции Я думал о том, чтобы решить эту проблему:
- остановку и удалить контейнер перед началом gitlab-CI-мульти-бегун (кажется, не представляется возможным)
- добавить данные GIT в мой Docker контейнер и только смонтировать мой permdata (кажется, как вы не можете добавить данные в контейнер без опции объема с грузчиком компоновать, как вы можете в Dockerfile)
Вариант 2 был бы идеальным, потому что тогда было бы также разобраться в моих вопросах с разрешениями на файлы. Может быть, кто-то прошел через такой же проблемой и может дать мне совет
Спасибо, но я это уже знаю. Но создание нового файла Docker и образа для каждого контейнера нежелательно для этой проблемы, так как это создаст огромный список новых проблем. – user3676487