TOC
TL;DR
バックアップ・リストアはできた。
コンテナ(awx_task)に直で入れたもの以外は全て復元できた。
概要
Docker で構築した Ansible AWX のバックアップ・リストアのやり方
環境
pg_username=awx pg_password=awxpass pg_database=awx
Backup
1. postgres 以外のコンテナを止める
$ docker stop awx_task awx_web memcached rabbitmq
2. pg_dumpall
$ docker exec -t -u postgres postgres pg_dumpall -U awx > dump.sql
Restore
リストアは、新規にコンテナが立ち上がった状態に対して行う。
1. 既存のDBを消す
$ docker exec -t -u postgres postgres dropdb -U awx awx
2. 新しくDB作る
$ docker exec -t -u postgres postgres createdb -U awx awx
3. リストア
$ cat dump.sql | docker exec -i postgres psql -U awx
4. コンテナの再開
エラーが消えるまで数回叩く
$ docker start awx_task awx_web memcached rabbitmq