How to import a database into a Docker container using docker-compose
Asked Answered
P

3

13

I am working with the official WordPress Docker image with docker-compose on my Mac (using boot2docker). I need to do a one-off data import. I'm not sure how to do this. How can I import data to the database container?

wordpress:
  image: wordpress
  links:
    - db:mysql
  ports:
    - 8080:80
  volumes:
    - .:/var/www/html/wp-content/themes/my-theme-name

db:
  image: mariadb
  environment:
    MYSQL_ROOT_PASSWORD: example
Pleader answered 3/6, 2015 at 8:23 Comment(1)
Duplicate #25920529 ?Sardinian
I
28

When using official Wordpress image, default name of the created database is wordpress.

So after you have deployed Wordpress application with docker-compose, you can import your wordpress database by

docker exec -i db mysql -uroot -pexample wordpress < dump.sql

Initiative answered 4/6, 2015 at 5:49 Comment(0)
S
3

See this doc http://depressiverobot.com/2015/02/19/mysql-dump-docker.html and also this previous on SO Setting up MySQL and importing dump within Dockerfile

Siccative answered 3/6, 2015 at 8:34 Comment(2)
Yes, I've seen those and cannot get them to work. I don't think they work in this instance (also considering running with docker-compose/boot2docker). Can you please provide an example command to run?Pleader
Can you provide details about "and cannot get them to work"? Error messages and so. Installating Mysql and then launching a docker exec -i dump mysql -uroot -proot < dump.sql looks reasonable.Siccative
S
0

copy your .sql or .sql.gz files into the mysql's /docker-entrypoint-initdb.d directory. It will automatically import the data into your database.

https://hub.docker.com/_/mysql

Simian answered 21/1, 2019 at 2:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.