This is a simple way of importing MySQL database in Docker.
-
In you Dockerfile you must have a shared folder. Shared folder is a directory in your host machine that is mounted to Docker instance.
-
Put the exported sql file in the shared folder.
-
Login to your Docker instance via
docker exec -it DOCKER_CONTAINER_ID bin/bash
. -
Login to MySQL via
mysql -u USERNAME -p
. -
While in MySQL CLI, create a database via
create database DB_NAME;
. -
While in MySQL CLI, use the database you just created via
use DB_NAME;
. -
While in MySQL CLI, import the sql file via
source /path/to/file.sql
.
Done
Yeah I figured it out, did the following configuration in docker-compose.yml:
mysqlcontainer:
image: mysql
container_name: mysqlcontainer
volumes:
- ./docker/mysql/data:/var/lib/mysql:rw
- ./database/schema.sql:/docker-entrypoint-initdb.d/schema.sql:ro
environment:
MYSQL_DATABASE: employee
MYSQL_USER: arnob
MYSQL_PASSWORD: root123
MYSQL_ROOT_PASSWORD: root123