
拉取官方 Docker 镜像
从 Docker Hub 拉取 PolarDB-for-PostgreSQL 的官方镜像。
bash
docker pull polardb/polardb_pg_local_instance
如果无法拉去使用本人的阿里云的
x86架构
bash
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/polardb_pg_local_instance:latest
ARM架构的
bash
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_polardb_pg_local_instance:latest
bash
docker run -d \
--name polardb_pg_prod \
--restart=unless-stopped \
--cpus=4 \
--memory=8g \
--memory-swap=9g \
--shm-size=1g \
-p 32682:5432 \
-e LANG=C.UTF-8 \
-e TZ=Asia/Shanghai \
-e POSTGRES_USER=polardb_admin \
-e POSTGRES_PASSWORD=JmpBqVaqky2auE9k \
-e POSTGRES_DB=polardb_prod \
-v /data/polardb/data:/var/lib/postgresql/data \
-v /data/polardb/backups:/backups \
-v /data/polardb/conf:/etc/postgresql \
-v /etc/localtime:/etc/localtime:ro \
--health-cmd="pg_isready -U polardb_admin" \
--health-interval=30s \
--health-timeout=10s \
--health-retries=3 \
registry.cn-hangzhou.aliyuncs.com/qiluo-images/polardb_pg_local_instance:latest
生产环境增强配置说明:
资源限制:
--cpus=4:限制容器使用最多 4 个 CPU 核心
--memory=8g:限制容器使用最大 8GB 内存
--memory-swap=9g:设置交换分区大小
--shm-size=1g:增加共享内存大小,对 PostgreSQL 性能很重要
自动重启:
--restart=unless-stopped:Docker 守护进程重启时自动重启容器,除非手动停止
安全认证:
-e POSTGRES_PASSWORD=JmpBqVaqky2auE9k:务必修改为强密码
-e POSTGRES_USER=polardb_admin:创建指定管理员用户
-e POSTGRES_DB=polardb_prod:创建指定数据库
多卷挂载:
-v /data/polardb/data:/var/lib/postgresql/data:主数据目录
-v /data/polardb/backups:/backups:备份目录
-v /data/polardb/conf:/etc/postgresql:配置文件目录(方便自定义配置)
-v /etc/localtime:/etc/localtime:ro:保持容器时间与主机同步
健康检查:
--health-cmd 等参数:配置容器健康检查,便于监控和自动恢复
连接示例:
使用 psql 连接
bash
psql -h localhost -p 32682 -U polardb_admin -d polardb_prod
或者使用连接字符串
bash
psql "postgresql://polardb_admin:JmpBqVaqky2auE9k @localhost:32682/polardb_prod"