腾讯云 Ubuntu 24.04上通过 Docker 部署 PostgreSQL

一、 前言

PostgreSQL 是一款功能强大的开源关系型数据库。

随着容器化技术的普及,使用 Docker 部署 PostgreSQL 不仅环境干净、易于维护,而且可以快速实现版本切换。

本文将手把手教你如何在腾讯云服务器 (操作系统为 Ubuntu Server 24.04 LTS)上,利用 Docker 快速部署 PostgreSQL 数据库,并通过本地电脑上的 DBeaver 数据库管理工具进行远程访问。

二、 准备工作

在开始之前,请确保你已经完成以下准备:

  1. 腾讯云服务器 :已购买并处于运行状态,镜像为 Ubuntu Server 24.04 LTS
  2. SSH 连接工具:如 Xshell、FinalShell 或系统自带的终端,用于连接你的云服务器
  3. 本地电脑 :已安装 DBeaver Community(免费开源)

三、 安装前验证

登录服务器并更新系统

使用 SSH 工具登录到你的腾讯云服务器。

Plain 复制代码
ssh ubuntu@你的服务器公网IP

登录成功后,首先更新系统软件包以确保安全性:

Plain 复制代码
sudo apt update && sudo apt upgrade -y

验证Docker

Plain 复制代码
docker --version

如果看到类似 Docker version 24.0.x 的输出,说明安装成功,

四、 使用 Docker 部署 PostgreSQL

使用 docker run 命令直接拉取并启动 PostgreSQL 容器,

这里以 PostgreSQL 16 为例(也可以替换为 postgres:15 等版本),

创建并运行容器

在终端中执行以下命令:

Plain 复制代码
docker run -d \
  --name my-postgres \
  -e POSTGRES_USER=admin \
  -e POSTGRES_PASSWORD=Pw@123456 \
  -e POSTGRES_DB=mydatabase \
  -p 5432:5432 \
  -v /data/postgres:/var/lib/postgresql/data \
  postgres:16

参数说明:

  • -d:后台运行容器。
  • --name my-postgres:为容器指定一个名称。
  • -e POSTGRES_USER:设置数据库超级用户名称(默认是 postgres)。
  • -e POSTGRES_PASSWORD:设置超级用户密码(请务必替换为强密码)。
  • -e POSTGRES_DB:初始化时自动创建一个数据库。
  • -p 5432:5432:将宿主机的 5432 端口映射到容器的 5432 端口。
  • -v /data/postgres:/var/lib/postgresql/data:将数据库数据持久化到宿主机,防止容器删除后数据丢失。

检查容器状态

Plain 复制代码
docker ps

看到 my-postgres 容器状态为 Up 即表示启动成功。

使用psql终端查看连接

五、 配置腾讯云安全组(关键步骤)

为了让本地电脑的 DBeaver 能够访问云服务器上的 PostgreSQL,需要在腾讯云控制台开放 5432 端口。

  1. 登录 腾讯云控制台 ,进入 云服务器 CVM 管理页面。
  2. 点击你的实例,找到 安全组 选项卡。
  3. 点击 编辑规则配置安全组
  4. 在"入站规则"中,点击 添加规则
    1. 协议类型:PostgreSQL (或自定义 TCP)
    2. 端口:5432
    3. 来源 :为了安全,建议填写你本地电脑的公网 IP(格式如 123.123.123.123/32)。如果是临时测试,可以填 0.0.0.0/0(允许所有 IP 访问,生产环境不推荐)
    4. 策略:允许,
  5. 点击 完成 保存,

六、 配置 DBeaver 连接 PostgreSQL

现在回到你的本地电脑,打开 DBeaver。

新建连接

  • 点击菜单栏的 数据库 -> 新建数据库连接(或点击工具栏的"插头"图标)。
  • 在弹出的窗口中,选择 PostgreSQL ,然后点击 下一步

填写连接信息

在"主设置"页面填写以下信息:

  • 主机 :你的腾讯云服务器 公网 IP 地址
  • 端口5432(默认已填)。
  • 数据库mydatabase(在 Docker 命令中设置的 POSTGRES_DB
  • 用户名myuser(你在 Docker 命令中设置的 POSTGRES_USER
  • 密码Pw@123456(点击"保存密码"旁边的输入框,填入你设置的密码)

测试连接

点击 测试连接 按钮。如果是第一次连接,DBeaver 可能会提示下载 PostgreSQL 驱动,点击 下载 即可。

如果一切正常,你会看到一个提示框显示 "已连接"

完成并访问

点击 完成。现在你可以在 DBeaver 的左侧导航栏看到你的 PostgreSQL 数据库,可以开始创建表、执行 SQL 查询等操作了。

七、 常见问题排查

  1. 连接超时
    1. 检查腾讯云安全组是否已正确放行 5432 端口。
    2. 检查服务器本地防火墙(如果开启了 UFW)是否放行:sudo ufw allow 5432
  2. 密码认证失败
    1. 检查 Docker 容器是否正常运行:docker logs my-postgres
    2. 确认 DBeaver 中填写的用户名和密码与启动容器时设置的 -e 环境变量一致。
  3. 容器启动失败
    1. 检查宿主机 /data/postgres 目录权限,或尝试更换挂载目录。

八、 总结

通过本文,我们完成了以下工作:

  1. 在腾讯云 Ubuntu 24.04 LTS 服务器上安装了 Docker。
  2. 使用 Docker 快速部署了 PostgreSQL 数据库,并实现了数据持久化。
  3. 配置了腾讯云安全组,放通了数据库端口。
  4. 使用 DBeaver 成功远程连接并管理了云端的 PostgreSQL 数据库。

这种部署方式不仅轻量快捷,而且非常适合开发、测试环境,甚至可以通过 Docker Compose 轻松扩展为高可用集群。

希望这篇教程对你有所帮助!欢迎点赞收藏!!!

相关推荐
向哆哆1 小时前
鸡行为目标检测数据集:3类别 | 目标检测
人工智能·目标检测·计算机视觉
MindUp1 小时前
免费AI工具实测:3款编程与办公辅助方案对比(2026)
人工智能
XIANGCHU8881 小时前
市场周刊| 促进中小企业发展“十五五”规划发布 推进残疾学生职业教育和就业衔接发展
人工智能
WUYOUGYLU2 小时前
大模型时代:人工智能如何重塑我们的生活
人工智能·生活
Aloudata2 小时前
Ossie 会不会成为“开源 Palantir”的起点?
大数据·人工智能·数据分析·本体论·data agent·语义层
嘟哩DuliDuli2 小时前
AI 视频局部重做,怎么避免破坏成片
人工智能·安全·ai·音视频·软件工程
腾渊信息科技公司2 小时前
腾渊科技重磅出品——工业智能体落地实战:从单点AI到智能体集群的架构演进
人工智能·科技·架构·工业智能体·腾渊科技·腾渊信息科技·腾渊工业智能体
海盗12342 小时前
AI 新闻日报 2026-09-07:GitHub 多模型编排、OpenClaw 2.0 多智能体、人形机器人破人类纪录
人工智能·机器人·github