Доступ к файлам в Docker-контейнере, созданном во время сборки образа CI, из хост-системы - PullRequest
1 голос
/ 25 октября 2019

Как получить доступ к файлам хост-системы, размещенным во время сборки образа внутри контейнера докера?

Мы создаем образы докера через конвейер 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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...