Как получить доступ к файлам хост-системы, размещенным во время сборки образа внутри контейнера докера?
Мы создаем образы докера через конвейер Gitlab CI / CG. Во время сборки файлы, такие как 404 страницы и т. Д., Помещаются в папку в / app / public /. На нашем производственном сервере nginx работает в хост-системе и должен получить доступ к этому файлу.
При использовании docker bind mount для монтирования папки из хост-системы /srv/web/public/:/app/public
в контейнер с содержимым внутри папки /app/public
больше не доступен.
В данный момент мы копируем эти скрытые файлы через ansible в /srv/web/public/
, но это такой уродливый обходной путь.
version: '2'
services:
web:
image: registry.gitlab.com/project_web/web/master:latest
container_name: web
command: bundle exec rails s
entrypoint: /web/rails-entrypoint.sh
volumes:
- /srv/web/public/:/web/public
- /srv/web/log/:/web/log
env_file: .env
ports:
- '127.0.0.1:3333:3000'