docker搭建Postgresql主備集群
搭建主庫
docker-compose.yaml配置文件如下:
version: "3.1"
services:
postgres:
image: postgres:12.8
container_name: pg_master
restart: always
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
volumes:
- ~/pg_data:/var/lib/postgresql/data
ports:
- 5432:5432
networks: {}
將Postgresql主庫的數(shù)據(jù)文件保存到~/pg_data目錄下并映射到容器內(nèi)部,然后啟動容器:
docker-compose up -d
在主庫數(shù)據(jù)目錄下執(zhí)行如下命令:
echo "host replication all 0.0.0.0/0 trust" >> ~/pg_data/pg_hba.conf
同時修改postgresql.conf文件的如下內(nèi)容:
wal_level= replica
修改完成后重啟主庫容器:
docker-compose restart
備庫配置
先使用pg_basebackup命令備份主庫的數(shù)據(jù),請注意pg_basebackup的版本應(yīng)該與主庫容器內(nèi)的版本一致,不然會備份失敗。比如主庫的版本是12.8,備份時也需要使用12.8的pg_basebackup。
pg_basebackup -h 192.168.80.20 -p 5432 -U postgres -w -Fp -Xs -Pv -R -D ~/pg_data_slave
備份完成后新建docker-compose-slave.yaml文件,填入如下內(nèi)容:文章來源:http://www.zghlxwxcb.cn/news/detail-836554.html
version: "3.1"
services:
postgres:
image: postgres:12.8
container_name: pg_slave
restart: always
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
volumes:
- ~/pg_data_slave:/var/lib/postgresql/data
ports:
- 54322:5432
networks: {}
修改完成后,啟動備庫容器。文章來源地址http://www.zghlxwxcb.cn/news/detail-836554.html
docker-compose up -d -f docker-compose-slave.yaml
到了這里,關(guān)于docker搭建Postgresql主備集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!