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"
相关推荐
有趣灵魂15 小时前
在docker中容器使用iptables限制IP访问端口
服务器·tcp/ip·docker·容器
码路工人17 小时前
第7章:迈向云原生 - Kubernetes 简介
docker·云原生·容器
码路工人18 小时前
第6章:Docker Compose - 多容器应用的编排利器
docker·云原生·容器
小马过河R19 小时前
K8s引入Service Mesh原因及Istio入门
云原生·容器·kubernetes·k8s·istio·service_mesh
行者Sun198920 小时前
【K8s】Kubernetes 虚拟机管理工具之 KubeVirt
云原生·容器·kubernetes
途经六月的绽放20 小时前
Docker Compose 从入门到实践
java·docker
虚伪的空想家20 小时前
生产环境K8S的etcd备份脚本
运维·容器·kubernetes·脚本·备份·etcd
不会吉他的肌肉男不是好的挨踢男1 天前
docker 安装TDengine 并创建新用户
docker·容器·iot·tdengine
FrankYoou1 天前
docker logs 显示的日志,默认是保存在哪里?
docker·容器
ape所念皆星河1 天前
远程配置服务器 ubuntu22.04 里的 docker 的x11
运维·服务器·docker