Я пытался (провел много часов), чтобы запустить mysql на docker (локально). Я хочу использовать начальный сценарий БД, например:
CREATE TABLE `language` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`lang_name` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;
CREATE TABLE `level` (
Мой docker -компонент:
version: '3.1'
services:
mysql:
container_name: myflashcards_db
image: mysql:5.7
# command: --init-file /data/application/init.sql
volumes:
- ./init:/docker-entrypoint-initdb.d
- ./mysql_data:/var/lib/mysql
restart: always
ports:
- "33061:3306"
expose:
- 33061
environment:
MYSQL_ROOT_USER: root
MYSQL_ROOT_PASSWORD: masterkey
MYSQL_DATABASE: myflashcards_db
MYSQL_USER: myflashcards_user
MYSQL_PASSWORD: mypassword
# command: --init-file ./init.sql
# command: mysqld --init-file="/tmp/database/init.sql"
# myflashcards-service:
# depends_on:
# - mysql
# build:
# dockerfile: Dockerfile.dev
# context: .
volumes:
mysql-data: {}
И после:
docker-compose up --build
Я получаю ошибку :
2020-04-08 17: 59: 31 + 00: 00 [Примечание] [Точка входа]: /usr/local/bin/docker-entrypoint.sh: выполняется / docker -entrypoint-initdb.d / init. sql myflashcards_db | /usr/local/bin/docker-entrypoint.sh: строка 62: /docker-entrypoint-initdb.d/init.sql: такого файла или каталога нет
Мой скрипт init. sql находится в init / init. sql. docker -compose находится в том же месте, где находится моя папка инициализации с init. sql:
> init/
-init.sql
docker-compose.yml
Я пробовал много решений, но безуспешно :(. Я не хочу создавать отдельный dockerfile, я хотел бы иметь все в одном docker -компонентном файле.
На первом шаге я хочу проверить мою mysql базу данных, но похоже, что мой init. sql НЕ скопирован в мой контейнер myflashcards_db