Том монтирования Docker-Compose перезаписывает файлы хоста

Я монтирую каталог из CMS с файлами содержимого внутри контейнера докеров.

Крепление работает абсолютно. В CMS есть несколько базовых файлов, которые во время сборки копируются в смонтированную папку в контейнере. Затем он будет смонтирован в каталог на хосте. Теперь файлы из Контейнера тоже на хосте. Я могу изменить их, и они будут синхронизированы.

Если я перезапущу свой контейнер docker-compose stop && docker-compose up -d, файлы на хосте будут перезаписаны файлами по умолчанию из сборки контейнера.

Есть ли возможность заставить локальное состояние файла перезаписать файл в контейнере?

С уважением


person Philipp Schemel    schedule 26.07.2018    source источник
comment
Вместо остановки попробуйте удалить контейнер «docker-compose rm», а затем повторно запустить «docker-compose up -d», при этом он удалит все файлы внутри старого контейнера и всегда использует новый, доступный в папке монтирования. последняя команда «docker-compose rm -f && docker-compose up -d»   -  person Rohan J Mohite    schedule 26.07.2018
comment
Проблема в том, что во время сборки некоторые файлы будут скопированы в этот каталог, эти файлы по умолчанию. И из-за этого файлы на хосте будут перезаписаны.   -  person Philipp Schemel    schedule 26.07.2018
comment
Хорошо, тогда это просто предложение - можете ли вы использовать условие IF ELSE, когда копируете файлы по умолчанию или удаляете старые файлы, передавая аргумент? это может решить вашу проблему.   -  person Rohan J Mohite    schedule 26.07.2018
comment
Можете ли вы добавить код к этому вопросу? Например, существует ли сценарий точки входа или что-то в этом роде, который копирует данные из контейнера? Описываемое вами поведение отличается от того, как обычно работает привязка Docker к хост-каталогу. Посмотреть файл docker-compose.yml тоже было бы полезно.   -  person David Maze    schedule 26.07.2018


Ответы (2)


может попробовать настроить только для чтения

docker run -v volume-name:/path/in/container:ro my/image
person gCoh    schedule 26.07.2018

Вы можете установить его только для чтения в качестве ответа gCoh. См. следующее для docker-compose:

volumes:
  - type: bind
    source: ./host-source-folder
    target: /container-folder
    read_only: true
person Mohamed El-Refaie    schedule 22.09.2019