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
