Заменить файл с хоста на контейнер с подключенным томом - PullRequest
1 голос
/ 29 января 2020

Я пытаюсь изменить некоторые файлы конфигурации, необходимые для установки приложения, но не хочу изменять исходный файл конфигурации в исходном коде. Путь к исходному файлу конфигурации: /usr/src/app/env_configs/local_db_setup.rb Я пытаюсь добиться этого в моем Dockerfile

cp <path of new config on host>/local_db_setup.rb /usr/src/app/env_configs/

Однако я чувствую, что из-за моего тома, смонтированного в docker-compose.yml, Копирование не выполняется или переопределяется.

volumes:
-.:/usr/src/app

Как я могу go об этом?

1 Ответ

0 голосов
/ 29 января 2020

Если при подключении-подключении к непустому каталогу в контейнере существующее содержимое каталога скрывается подключением-подключением. Таким образом, любое существующее содержимое в /usr/src/app внутри контейнера затеняется.

Если вы хотите скопировать новый файл конфигурации во время сборки образа, как указано в вашем вопросе, вы можете скопировать его в другой каталог на изображении (/tmp/config/) и переместить его в правильное местоположение (/usr/src/app/env_configs/ ) используя сценарий точки входа, который сначала выполняет перемещение, а затем запускает фактическую точку входа.

Вместо этого вы также можете напрямую смонтировать файл конфигурации с хост-компьютера, если это нормально.

...