Я думаю, что ваша проблема заключается в следующем:
Вы хотите получить объем монтирования через схему, но не видите в базе данных, верно?
Прежде всего, если вашНамерение состоит в том, чтобы использовать mariadb
, вы можете использовать Официальный образ докера MariaDB.
Таким образом, таким образом вы избегаете использования redhat изображений или нестандартного построения.
Во-вторых, вы копируете этот SQL, но вы не запускаете MySQL импорта или дамп или что-то в этом роде.Итак, что вы можете сделать, это вставить в ваш docker-compose команду (например):
database:
build:
context: ./database
ports:
- "3306:3306"
volumes:
- ./data/data.sql:/docker-entrypoint-initdb.d/data.sql
environment:
- MYSQL_DATABASE=hell
- MYSQL_USER=test
- MYSQL_PASSWORD=secret
- MYSQL_ROOT_PASSWORD=secret
command: "mysql -u username -p database_name < file.sql"
Но это не лучший способ.
С другой стороны, вы можете следить за документацией MariaDB, устанавливать том для монтирования и при первом запуске импортировать данные.И с объемом вам не нужно снова запускать импорт.Это монтирование, которое вы должны поместить:
/my/own/datadir:/var/lib/mysql
Очевидно, что вы можете смонтировать файл sql в папку / tmp /, и это все, и с помощью docker exec
выполните sh и запустите его изнутри.