Простой способ сделать бекап MySQL в Docker контейнере
существует такой специальный контейнер confirm/mysql-backup, который создан, что бы делать бекапы
для этого запустите контейнер с маппингом my_local_backup_dir:/backups и будет создан свежий бекап и положен в вашу my_local_backup_dir.
docker run --name demo_backup --link demo_db -v /var/demo_backup:/backup -d confirm/mysql-backup
Для восстановления добавьте ключ окружения MODE=RESTORE
docker run --name demo_backup --link demo_db -v /var/demo_backup:/backup -d confirm/mysql-backup -e MODE=RESTORE
Подробнее здесь https://blog.confirm.ch/backup-mysql-mariadb-docker-container/
Рецепт для Ansible
- name: backup mysql container
hosts: coreos
tasks:
- name: backup mysql
docker_container:
name: mysql-backup
image: confirm/mysql-backup
links:
- mprokopovmichellekievua_db_1
volumes:
- /home/core/sql:/backup
после выполнения контейнера будет создан бекап следующего вида:
каталог export-20160714-124628
в котором будут отдельно файлы схемы и данных по таблицам:
metadata michelle_wordpress.wp_postmeta-schema.sql.gz michelle_wordpress.wp_term_taxonomy-schema.sql.gz michelle_wordpress.wp_usermeta.sql.gz
michelle_wordpress.wp_commentmeta-schema.sql.gz michelle_wordpress.wp_postmeta.sql.gz michelle_wordpress.wp_term_taxonomy.sql.gz michelle_wordpress.wp_users-schema.sql.gz
michelle_wordpress.wp_comments-schema.sql.gz michelle_wordpress.wp_posts-schema.sql.gz michelle_wordpress.wp_termmeta-schema.sql.gz michelle_wordpress.wp_users.sql.gz
michelle_wordpress.wp_links-schema.sql.gz michelle_wordpress.wp_posts.sql.gz michelle_wordpress.wp_terms-schema.sql.gz
michelle_wordpress.wp_options-schema.sql.gz michelle_wordpress.wp_term_relationships-schema.sql.gz michelle_wordpress.wp_terms.sql.gz
michelle_wordpress.wp_options.sql.gz michelle_wordpress.wp_term_relationships.sql.gz michelle_wordpress.wp_usermeta-schema.sql.gz