Как сделать маунт директории хост-машины
В Docker для подключения директории с хост-машины в контейнер используется маунт (mount) через volumes) с помощью опции -v
или --mount
.
1. Через -v
(старый синтаксис)
-v
(старый синтаксис)docker run -d \
-v /path/on/host:/path/in/container \
--name my_container \
myapp:latest
/path/on/host
— путь к директории на вашей машине./path/in/container
— путь внутри контейнера, куда будет смонтирована папка.Изменения в контейнере будут синхронизированы с хостом.
Пример:
docker run -d \
-v /home/user/appdata:/app/data \
--name my_app \
myapp:latest
Любые файлы, созданные в
/app/data
контейнера, появятся в/home/user/appdata
на хосте.
2. Через --mount
(рекомендуемый современный синтаксис)
--mount
(рекомендуемый современный синтаксис)docker run -d \
--mount type=bind,source=/home/user/appdata,target=/app/data \
--name my_app \
myapp:latest
type=bind
— монтирование хостовой директории.source
— путь на хосте.target
— путь в контейнере.
Особенности
Монтированная директория перезаписывает содержимое контейнера в этом пути.
Используется для:
хранения данных вне контейнера,
синхронизации кода для разработки,
логов и конфигураций.
Итог: маунт позволяет контейнеру работать с директориями хост-машины, сохраняя данные вне контейнера и обеспечивая синхронизацию.
Last updated
Was this helpful?