Полагаю, что сам gitlab runner работает как пользователь git или gitlab, gitlab-runner или что-то в этом роде (просто укажите whoami
в разделе сценариев, чтобы определить, не знаете ли вы).
Большинство ваших док-контейнеров работают как пользователь root внутри контейнера. Поэтому каждый раз, когда вы используете том, который находится внутри вашего git-репозитория, разрешение будет меняться, когда ваши контейнеры изменяют данные. После того, как ваши контейнеры были остановлены, вы, пользователь gitlab, не можете очистить хранилище для новой работы.
Некоторые идеи (но, возможно, никто не решит вашу проблему)
а) добавьте своего пользователя бегуна gitlab в группу докеров
б) попробуй запустить sudo git reset --hard
c) mv расположение томов докера вне вашего репозитория, возможно, в / tmp (и не забудьте удалить их после завершения работы).