Есть некоторые проблемы с правами доступа к образу докера MySQL.Таким образом, вместо использования MySQL, вы можете использовать MariaDB, у которого нет проблем с томами докера
В вашем docker-compose вы монтируете dbdata из текущего каталога, который не будет монтироваться из-занекоторые проблемы с разрешением томов докера с образом докера MySQL.Монтирование в общую папку не работает, поэтому вместо использования ./dbdata попробуйте использовать / dbdata
Даже я столкнулся с той же проблемой, и я изменил MySQL на MariaDB и подключил свои тома к / dbdata, и это сработалодля меня.Вот мой docker-compose.yml
version: '3'
services:
mysql:
image: mariadb
container_name: mysql
environment:
MYSQL_DATABASE: 'movies'
# So you don't have to use root, but you can if you like
MYSQL_USER: 'user'
# You can use whatever password you like
MYSQL_PASSWORD: '123'
# Password for root access
MYSQL_ROOT_PASSWORD: '1234'
ports:
# <Port exposed> : < MySQL Port running inside container>
- '3306:3306'
expose:
# Opens port 3306 on the container
- '3306'
# Where our data will be persisted
volumes:
- /dbdata :/var/lib/mysql
В вашем случае созданная вами база данных и таблицы не сохраняются.Если у вас есть файл резервной копии ваших таблиц, переместите этот файл резервной копии в / dbdata на вашей виртуальной машине, а затем создайте базу данных и загрузите этот файл резервной копии в свою базу данных