Проблема связана с особенностями dind в раннере. Когда используется dind, Docker daemon работает в отдельном контейнере, и относительные пути в volumes ссылаются на файловую систему внутри dind контейнера, а не на рабочую директорию вашего CI job.
Поэтому, при деплое никогда не используйте вольюмы для конфигурационных файлов и всякого прочего добра. Надо просто их скопировать в образ, и проблема улетучится как туман на рассвете. Но как же нам быть, когда мы хотим использовать стандартный nginx образ? Чешем репу и просто заворачиваем образ nginx в наш собственный кастомный образ с нашим собственным докерфайлом для nginx:
# Dockerfile для nginx в отдельной директории nginx
FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
COPY certs /etc/nginx/certs
# docker-compose.yml
services:
nginx:
build:
context: ./nginx
ports:
- "80:80"
- "443:443"
# volumes убираем для статических файлов