#docker #docker-compose
#docker #docker-создать
Вопрос:
У меня есть следующий docker-compose.yml
version: '3.7'
services:
mysql:
image: mysql:5.7
restart: "no"
volumes:
- my-mysql-data:/var/lib/mysql:cached
ports:
- 3306:3306
volumes:
my-mysql-data:
Когда я перезапускаю свою хост-систему, данные внутри базы данных сбрасываются.
Что я пропустил в своем файле конфигурации?
И где на хосте смонтирован этот каталог?
Комментарии:
1. Это именованный / управляемый том , вы можете увидеть, где именно он находится в хост-системе, проверив его
docker volume inspect compose_project_name_my-mysql-data
. Если вы не уверены в имени,docker volume ls
сначала узнайте имя. Также обратите внимание, что использование :cached для такого объема данных не является хорошим вариантом. : делегирование имеет больше смысла, если вы можете смириться с потенциальными последствиями .
Ответ №1:
Вы сохраняете кэшированные данные. Вы должны использовать /var/lib/mysql
path в томах
Комментарии:
1. это кэширование имеет другое значение afaik. Это связано с тем, кто видит обновления первым, но это не что-то вроде кэширования только в памяти, как вы описываете здесь.