Только чтение в Docker
Том только для чтения показывает файлы хоста и не дает контейнеру их менять. Контейнер видит содержимое каталога, но не может создавать там новые файлы и не может переписывать уже существующие. Так защищают данные на диске от случайных правок изнутри копии.
Режим задают суффиксом :ro
после пути внутри контейнера.
Слева по-прежнему каталог
на компьютере, справа - точка
монтирования внутри копии.
Флаг -v связывает обе
стороны при запуске.
Возьмём папку site
с файлами на хосте и подключим
её к /data в контейнере
web из образа alpine.
Контейнер будет ждать в фоне,
чтобы успеть проверить запись.
Выполним запуск:
docker run -d --name web -v "$PWD/site:/data:ro" alpine sleep 300
Попытка создать файл внутри
/data завершится отказом:
служба не даст записать в том,
открытый только для чтения.
Проверим это командой внутри
web:
docker exec web sh -c "echo x > /data/new.txt"
Подключите папку page в контейнер desk только для чтения.
Попробуйте записать туда файл и запишите, чем закончилась попытка.