!!!代わりにhttps://github.com/appuio/postgres-backup-cronjobを使用してください!!!
OpenShiftで実行されているPostgreSQLデータベースの完全なバックアップを実行するコンテナ。バックアップは、 pg_basebackup
ツールによって実行されます。
pg_dump
を使用したよりシンプルなバックアップは、PostgreSQL-Simple-Backup-Containerリポジトリで利用できます。
PostgreSQLデータベースの定期的なバックアップを行うコンテナを提供します。
バックアップコンテナはジェット:進行中の作業を完了していません。
MySQLバックアップコンテナに触発されたこのレポジット:https://github.com/appuio/mysql-simple-backup-container
データベースはマスターユーザーでセットアップする必要があり、パスワードです。
データベースは、他のホストからのリモートアクセスを許可するように構成する必要があります。
バックアップのデータベースユーザーには、スーパーユーザーまたは複製の役割が必要です。
リモートバックアップ接続を許可するために、データベースを設定する必要があります。
このために、Postgresql構成ファイル/etc/postgresql/XX/main/postgresql.conf
に次の構成を追加します
「x.x」にデータベースバージョンを使用します。例として: '9.5'
max_wal_senders = 5
wal_level = hot_standby
archive_mode = on
archive_command = '/bin/true'
OpenShiftでの使用。
PostgreSQLデータベースを作成および実行する方法。
Docker画像からoc tool
を使用してコンテナを作成します。
oc new-app
-e POSTGRES_PASSWORD=mysecretpassword
-e POSTGRESQL_USER=postgresuser
-e POSTGRESQL_PASSWORD=mysecretpassword
-e POSTGRESQL_DATABASE=postgresdb
-e POSTGRESQL_ADMIN_PASSWORD=mysecretpassword2
-l app=postgresdb
centos/postgresql-95-centos7
インストールされたテンプレートからoc tool
を使用してコンテナを作成します。
oc new-app --template=postgresql-ephemeral
--param=POSTGRESQL_USER=postgresuser
--param=POSTGRESQL_PASSWORD=mysecretpassword
--param=POSTGRESQL_DATABASE=postgresdb
--param=DATABASE_SERVICE_NAME=postgresqldb
-l app=postgresdb
展開構成を編集し、masterパスワードをenv変数として追加します。
env:
-
name: POSTGRESQL_ADMIN_PASSWORD
value: mysecretpassword2
ローカルテンプレートからoc tool
を使用してコンテナを作成します。
oc process -f postgresql-ephemeral-template.json
-v
POSTGRES_PASSWORD=mysecretpassword
POSTGRESQL_USER=postgresuser
POSTGRESQL_PASSWORD=mysecretpassword
POSTGRESQL_DATABASE=postgresdb
POSTGRESQL_ADMIN_PASSWORD=mysecretpassword2
DATABASE_SERVICE_NAME=postgresqldb
| oc create -f -
ローカルDB Dockerfileからoc tool
を使用してコンテナを作成します。リモート接続を許可するためにパッチが適用されます。
oc new-app
-e POSTGRES_PASSWORD=mysecretpassword
-e POSTGRESQL_USER=postgresuser
-e POSTGRESQL_PASSWORD=mysecretpassword
-e POSTGRESQL_DATABASE=postgresdb
-e POSTGRESQL_ADMIN_PASSWORD=mysecretpassword2
-e DATABASE_SERVICE_NAME=postgresqldb
-l app=postgresdb
https://github.com/appuio/postgresql-backup-container
--context-dir=database
--name=postgresqldb
OpenShiftのPostgreSQLのその他のドキュメント。
github上のpostgresqlデータベースコンテナ。
データベースコンテナが所有するすべてのリソースを削除します。
oc delete all -l app=postgresdb
OpenShiftでPostgreSql backukpコンテナを作成して実行します。
oc new-app
-e BACKUP_USER=postgres
-e BACKUP_PASS=mysecretpassword2
-e BACKUP_PORT=5432
-l app=backup
https://github.com/appuio/postgresql-backup-container
バックアップコンテナが所有するすべてのリソースを削除します。
oc delete all -l app=backup
バックアップコンテナ用のOpenShiftテンプレートを作成して提供し、データベースと組み合わせます。
OpenShiftテンプレート:
PostgreSQLデータベースコンテナを実行します。
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgres
カリカリPostgreSQLデータベースコンテナを実行します。
docker run
--name some-postgres
-e "PG_MODE=master"
-e "PG_MASTER_USER=master"
-e "PG_MASTER_PASSWORD=master.chief"
-e "PG_USER=postgres"
-e "PG_PASSWORD=mysecretpassword"
-e "PG_DATABASE=postgres"
-e "PG_ROOT_PASSWORD=mysecretpassword2"
-d -p 5432:5432
crunchydata/crunchy-postgres:centos7-9.5-1.2.5
initデータベース。
docker build -t pg_backup .
環境:
バックアップディレクトリの作成:
mkdir pgdata
バックアップコンテナを起動します:
docker run -ti
-e "BACKUP_HOST=postgresdb"
-e "BACKUP_USER=postgres"
-e "BACKUP_PASS=mysecretpassword"
-e "BACKUP_PORT=5432"
-v $(pwd)/pgdata:/pgdata
--link some-postgres:postgresdb
pg_backup