ちゃんるいすのブログ

オタクエンジニアの雑記

Ansible AWX のバックアップ・リストアのやり方(Docker編)


f:id:rarirureluis:20190128175300j:plain

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