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