!!!!!!! 대신 https://github.com/appuio/postgres-backup-cronjob을 사용하십시오 !!!
OpenShift에서 실행되는 PostgreSQL 데이터베이스의 전체 백업을 수행하는 컨테이너. 백업은 pg_basebackup
도구에 의해 수행됩니다.
pg_dump
사용한 더 간단한 백업은 PostgreSQL-Simple-Backup-Container 저장소에서 사용할 수 있습니다.
PostgreSQL 데이터베이스의 정기적으로 백업하는 컨테이너를 제공합니다.
백업 컨테이너가 완성되지 않았습니다. 제트 : 작업 중입니다.
MySQL 백업 컨테이너에서 영감을 얻은이 repo ist : https://github.com/appuio/mysql-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 Image에서 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
배포 구성을 편집하고 마스터 비밀번호를 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 템플릿을 생성하고 제공하고 데이터베이스와 결합합니다.
오픈 리프트 템플릿 :
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
INT 데이터베이스.
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