3. Docker volumes – Сохранение данных

Docker volumes – Сохранение данных

Как известно контейнер не сохраняет данные между запусками, поэтому для сохранения данных в docker используется система как в virtual box – создаются/используются внешние разделы/папки/хранилища которые обзываются volumes

Ниже распишем основные команды для работы с volumes.

Посмотреть тома
docker volume ls

Различные типы томов
host volumes

docker run -v PathOnServer:PathInDocker container_name

пример: docker run -v opt/mydbdata:var/lib/mysql mysql

anonimous volumes
docker run -v PathInDocker container_name

пример: docker run -v var/lib/mysql mysql

том будет сгенерирован по адресу
var/lib/docker/volumes/HASH/_data

где HASH генерируется автоматически

ДИРЕКТОРИЯ УДАЛЯЕТСЯ ВМЕСТЕ С DOCKER

named volumes
docker run -v name:PathInDocker container_name

пример: docker run -v dbdata:var/lib/mysql mysql

том будет сгенерирован по адресу
var/lib/docker/volumes/dbdata/_data

модификаторы для томов
можно выставлять модификаторы доступа для томов (например только для чтения) – тогда докер контейнер сможет только читать данные
docker run -v PathOnServer:PathInDocker:MODIFICATOR container_name

пример: docker run -v opt/mydbdata:var/lib/mysql:ro mysql

создать том независимо от контейнера
docker volume create VolumeName

удалить том
docker volume rm VolumeName

Leave a Reply

Your email address will not be published. Required fields are marked *