Как в docker развернуть mysql
Есть файл docker-compose:
mysql:
image: mysql:5.7
ports:
- 127.0.0.1:33066:3306
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: db
MYSQL_USER: root
volumes:
- ./docker/database:/var/lib/mysql
файл db.sql находится в ./docker копирую в контейнер по адресу /var/lib/mysql. Как мне сделать так чтобы при docker-copose build, файл db.sql автоматический импортировался в базу?
Ответы (1 шт):
Автор решения: Neolot
→ Ссылка
Сделайте скрипт, который будет поднимать контейнер и импортировать базу.
У себя не проверял, но должно работать. По крайней мере, смысл должен быть понятен.
#!/usr/bin/env bash
docker-compose up -d --build
sleep 5 # Подождать 5 сек, чтобы поднялись сервисы в контейнере
docker-compose exec -T mysql sh -c exec mysql -uroot -proot db < docker/db.sql