Это в Docker именованном томе. Вы не можете (*) напрямую получить к нему доступ, но он будет сохраняться при каждом запуске. Повтор docker-compose up
будет повторно использовать существующий том, даже если контейнер базы данных будет удален и воссоздан; по умолчанию docker-compose down
не удалит том (вам явно нужна опция --volumes
).
Если вы хотите иметь возможность непосредственно просматривать файлы (и вам проще их резервное копирование) вы можете использовать вместо этого подключенный к хосту каталог хоста. В зависимости от используемой операционной системы они могут иметь различные характеристики производительности и разрешений. (В частности, в MacOS привязка монтируется очень медленно, поэтому, если вы находитесь в настройке разработки и воссоздание базы данных возможно, вы можете предпочесть именованный том, если содержимое базы данных полностью непрозрачно.)
services:
mysqldb:
volumes:
# Relative or absolute path, but not a bare name
- ./db-data:/var/lib/mysql
(*) Если вы go ковыряетесь в /var/lib/docker
на собственном хосте - Linux, вы можете найти содержимое именованного тома, но это деталь реализации, и я не думаю, что на самом деле Docker дает любые гарантии стабильности относительно формата того, что хранится в этом каталоге; использование привязки - гораздо лучшая практика, чем копаться во внутренней памяти Docker.