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
On linux (Centos 7), this works for me:
Put the exported SQL file in the shared folder:
$ docker cp <FILE_NAME>.sql <CONTAINER ID>:/<FILE_NAME>.sqlFollow the instructions in the original post:
log into mysql:
$ mysql -u<USERNAME> -pcreate a database:
mysql> create database <DB_NAME>;use the database:
mysql> use <DB_NAME>;import the SQL file:
mysql> source ./<FILE_NAME>.sql