Почему после перезагрузки docker данные теряются?

#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. Это связано с тем, кто видит обновления первым, но это не что-то вроде кэширования только в памяти, как вы описываете здесь.