Importer un dump SQL avec Docker

Scénario : Nous avons un dump que nous voulons importer sur une base vierge pour avoir une appli qui tourne avec de la donnée.

On peut copier un fichier du local au container Docker dans le dossier /tmp/ :

docker cp dump.sql mycontainer:/tmp/dump.sql

L’inverse est possible aussi (copier du container Docker au host) :

docker cp mycontainer:/tmp/dump.sql /chemin/dump.sql

On se connecte au container SQL de docker :

docker exec -ti le-container_mysql bash

On lance la commande avec l’option -v ( pour voir le dump avec du “verbose” ) depuis le container SQL :

mysql :

mysql -v —batch -h{host} -u{user} -p nom-de-la-base-de-donnée < /tmp/bdd.sql

postgresql :

psql -U {user} -d {database} -f tmp/dump.sql

Short one :)

Backup

docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql

Restore

cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE