LoginSignup
2
8

More than 3 years have passed since last update.

Redmine(docker) + MariaDB(docker)からバックアップとリストア

Last updated at Posted at 2019-09-04

前提

docker hubにあるbitnamiのRedmineを使う。
以下のようにRedmine + MariaDBのコンテナを作成した。
docker-compose使っててもバックアップやリストアの手順は変わらないはず。

$ docker network create redmine_network
$ docker run -d --name mariadb --net=redmine_network -e ALLOW_EMPTY_PASSWORD=yes -e MYSQL_USER=root  bitnami/mariadb
$ docker run -d --name redmine --net=redmine_network -p 外部から接続するポート:3000 bitnami/redmine:3.3.1-r11

バックアップ

Redmineコンテナからファイルが入っているディレクトリを圧縮

コンテナに入って、/bitnami/redmine/files配下をまるごと圧縮する。

$ docker exec -it redmine /bin/bash
(コンテナに入った↓)
# tar -zcvf /bitnami/redmine/files.tar.gz /bitnami/redmine/files

mariadbからデータダンプ取得

コンテナに入って、mysqldumpでデータをEXPORTする。

$ docker exec -it --user root mariadb /bin/bash
(コンテナに入った↓)
# mysqldump -u ユーザ -pパスワード bitnami_redmine > /bitnami/db_backup.dmp

コンテナ内のファイルを取り出す

$ docker cp mariadb:/bitnami/db_backup.dmp ~
$ docker cp redmine:/bitnami/redmine/files.tar.gz ~

リストア

バックアップファイルをコンテナに入れる

$ docker cp ./db_backup.dmp mariadb:/bitnami/
$ docker cp ./files.tar.gz redmine:/bitnami/redmine/

Redmineのコンテナ内でバックアップファイルを展開する

$ docker exec -it redmine /bin/bash
(コンテナに入った↓)
# tar -zxvf /bitnami/redmine/files.tar.gz

※ファイルの権限には注意
※解凍する場所に注意

MariaDBのユーザとパスワードを確認する

Redmineのコンテナに入ったまま、データベースへの接続情報を確認する。

# cat /bitnami/redmine/conf

(省略)
production:
  adapter: mysql2
  database: bitnami_redmine
  host: mariadb
  username: ユーザ
  password: パスワード
  encoding: utf8
(省略)

MariaDBのコンテナでダンプファイルをインポートする

$ docker exec -it --user root mariadb /bin/bash
(コンテナに入った↓)
# mysql -u ユーザ -pパスワード bitnami_redmine < /bitnami/db_backup.dmp
2
8
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
8