PostgreSQL数据库部署linux服务器流程
一、配置需求
1. 系统要求
一台装了 Docker 的服务器
该服务器能与本地win电脑ping通
操作系统:Ubuntu 22.04(推荐)
2. 资源需求
PostgreSQL 15.4 镜像(Docker官方仓库)
国内的能用来拉取镜像的docker镜像源
- 预备配置参数
|------------|-----------|
| 参数 | 值 |
| 端口 | 5432 |
| 用户名 | postgres |
| 密码 | postgres |
| 默认数据库 | postgres |
二、大概流程简述
拉取官方 PostgreSQL 镜像
创建并启动容器
配置数据持久化存储
设置数据库用户凭证
验证数据库连接
三、验证环节
1. 验证 Docker 环境
# 检查 Docker 是否安装
sudo docker --version
(如图所示结果)

显示类似 Docker version 24.03.1, build xxxx 就说明已安装。
# 检查 Docker 服务是否运行
sudo systemctl status docker
(如图所示结果)

看到 active (running) 就正常。
退出查看:ctrl+c
2. 验证镜像源是否能进行拉取镜像
# 拉取测试镜像
sudo docker pull hello-world
(失败结果如图所示)

(成功结果如图所示)

能正常运行就说明镜像源没问题。
如果拉取失败,配置国内 Docker 镜像加速器
创建文件
sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json
配置加速镜 清空文件内容,写入以下 JSON(注意格式)
开始编写按:i
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1ms.run",
"https://docker.anyhub.us.kg"
],
"dns": ["223.5.5.5", "114.114.114.114"]
}
退出编写+保存+退出:esc+:wq
应用配置
sudo systemctl daemon-reload
重启docker
sudo systemctl restart docker
配置成功后,重新执行上面的拉取命令测试即可。
四、具体流程
1. 拉取 PostgreSQL 镜像
# 拉取官方 PostgreSQL 15.4 镜像
sudo docker pull postgres:15.4
(如图所示结果)拉取时间实测需要12分钟

# 验证镜像是否下载成功
sudo docker images postgres:15.4
(成功结果如图所示)

2. 创建数据持久化目录
# 创建存储目录
sudo mkdir -p /opt/postgresql/data
# 设置权限(必须)
sudo chown -R 999:999 /opt/postgresql/data
3. 创建并启动 PostgreSQL 容器
# 一键创建并启动容器
sudo docker run -d \
--name postgres_db \
--restart unless-stopped \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=postgres \
-e POSTGRES_DB=postgres \
-p 5432:5432 \
-v /opt/postgresql/data:/var/lib/postgresql/data \
postgres:15.4
(成功结果如图所示)

# 查看容器是否启动成功
sudo docker ps | grep postgres_db
(成功结果如图所示)

看到输出就说明启动成功了。
4. 验证数据库连接
# 进入容器内部
sudo docker exec -it postgres_db psql -U postgres
(成功结果如图所示)

进入后执行以下命令验证
#版本显示
SELECT version();
(成功结果如图所示)

退出查看:ctrl+c
数据库列表
\l
(成功结果如图所示)

退出查看:ctrl+c
退出数据库
\q
5. 配置远程访问
如果需要从容器外连接数据库:
# 修改配置允许远程连接
sudo docker exec -it postgres_db bash -c "echo \"host all all 0.0.0.0/0 md5\" >> /var/lib/postgresql/data/pg_hba.conf"
# 重启容器生效
sudo docker restart postgres_db
五、常用管理命令
# 启动容器
sudo docker start postgres_db
# 停止容器
sudo docker stop postgres_db
# 查看容器日志
sudo docker logs -f postgres_db
# 进入容器 bash
sudo docker exec -it postgres_db bash
六、验证连接
1. 服务器本地验证
# 进入容器内部连接数据库
sudo docker exec -it postgres_db psql -U postgres
(成功结果如图所示)

2. Windows 本地连接
使用 Python 测试连接
进入虚拟环境,安装 psycopg2 库:
pip install psycopg2-binary
(成功结果如图所示)

创建测试脚本:
#text01.py
import psycopg2
try:
conn = psycopg2.connect(
host="192.168.1.128",
port="5432",
database="postgres",
user="postgres",
password="postgres"
)
print("连接成功!")
cursor = conn.cursor()
cursor.execute("SELECT version();")
print("PostgreSQL 版本:", cursor.fetchone())
cursor.close()
conn.close()
except Exception as e:
print("连接失败:", e)
⚠️ 注意:请将代码中的 192.168.1.128 替换为您自己的服务器 IP 地址。
(成功结果如图所示)
运行脚本:
python test01.py
(成功结果如图所示)

看到"连接成功!"就说明连接正常。