环境准备:一台安装了Docker的Linux服务器。
为了简化演示环境,这里只用一台服务器来演示,通过不同端口来区分。
01
—
创建一个docker bridge 网路用于测试
docker network create --subnet=172.18.0.0/24 dockernetworkdocker network ls
设置了网段为 172.18.0.0,规划主从库IP端口如下:
主库 172.18.0.101:5432
从库 172.18.0.102:5433
02
—
拉取 postgres:12 镜像
docker pull postgres:12
03
—
创建数据库数据目录
mkdir -p /data/psql/mastermkdir -p /data/psql/slavemkdir -p /data/psql/replchown 999:999 /data/psql/masterchown 999:999 /data/psql/slavechown 999:999 /data/psql/repl
master:主库数据
slave:从库数据
repl:临时使用复制数据
04
—
运行master容器
docker run -d \--network dockernetwork --ip 172.18.0.101 -p 5432:5432 \--name pg12master -h pg12master \-e LANG="C.UTF-8" \-e 'TZ=Asia/Shanghai' \-e "POSTGRES_DB=postgres" \-e "POSTGRES_USER=postgres" \-e "POSTGRES_PASSWORD=postgres" \-v /data/psql/master:/var/lib/postgresql/data \pos