#docker #containers #docker-volume #persistent-storage
#docker #контейнеры #docker-volume #постоянное хранилище
Вопрос:
Я пытался запустить простой контейнер docker с привязкой, чтобы приложение могло читать и изменять data.json
файл (с хост-компьютера). Я поместил data.json
/home/usr/project
и запустил контейнер с
docker container run -it -v /home/usr/project:/app container_name main.exe
проект содержит 3 файла, остальные 2 файла были включены container build
. Когда я пытаюсь запустить контейнер, он выдает сообщение об ошибке о том, что другие 2 файла не найдены. Размещение этих файлов /home/usr/project
на локальном хосте решает проблему. Поскольку я хочу, чтобы контейнер только искал data.json
, могу ли я каким-либо образом сделать это, не сохраняя другие 2 файла без необходимости в каталоге bind mount
Ответ №1:
Вы можете сопоставить отдельные файлы в docker
docker run -it -v /home/usr/project/data.json:/app/data.json alpine cat /app/data.json
И вы даже можете сделать их доступными только для чтения внутри контейнера, чтобы избежать нежелательных изменений
docker run -it -v /home/usr/project/data.json:/app/data.json:ro alpine cat /app/data.json
Комментарии:
1. Спасибо. сработало отлично. кроме того, просто примечание, если требуется более одного файла, я полагаю, мы можем поместить их в подкаталог и указать на этот каталог