Docker 运行 PolarDB-for-PostgreSQL 的命令,并已包含数据持久化配置

拉取官方 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"
相关推荐
IvorySQL10 小时前
深入 PostgreSQL WAL:从崩溃恢复到逻辑复制
数据库·postgresql
螺蛳粉 螺蛳粉11 小时前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver
FungLeo12 小时前
成为全栈·Go 后端篇·从 Node SQLite 到 PostgreSQL:把迁移做成独立交付物
postgresql·golang·sqlite·go·数据库迁移·成为全栈
PellyKoo14 小时前
【docker】cifs卷改smb密码后容器起不来的解决方法
运维·docker·容器
时早玖沐14 小时前
放弃 QQ 官方机器人:用 SnowLuma + AstrBot 自建 QQ 机器人
docker·开源·agent
阿标在干嘛15 小时前
容器编排的“场景适配”:我们为什么在部分服务中回归了Docker Compose?
运维·docker·容器
IT199518 小时前
Docker 快速部署 DM8 达梦数据库|完整踩坑笔记
笔记·docker·容器
wzg201619 小时前
ubuntu通过docker镜像部署安装onlyoffice
linux·ubuntu·docker
Star(up up up)19 小时前
Docker系列---Docker容器基本命令(新手小白保姆级实操教程)
运维·学习·程序人生·青少年编程·docker·容器·dubbo
Small-Young20 小时前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·spring boot·mysql·postgresql·乐观锁·并发控制