Ubuntu基于docker部署pgadmin
简介
pgAdmin是PostgreSQL官方推出的最受欢迎的开源图形化管理工具。它提供了一个直观、强大的图形界面,让数据库管理员和开发人员能更轻松地管理和开发PostgreSQL数据库。
核心特点:
-
官方与开源:作为PostgreSQL的官方标配工具,pgAdmin是100%开源的,没有商业化版本的限制。
-
跨平台支持:支持Windows、macOS、Linux等多种操作系统,也可以作为Web应用程序部署,通过浏览器访问。
-
版本兼容性强:支持所有当前受支持的PostgreSQL版本及其相关衍生版本。
一、准备工作
在开始之前,请确保:
Docker环境已部署:Ubuntu20.04已安装Docker和Docker Compose(还没部署的可参考Ubuntu20.04部署docker及docker-compose)
验证:

二、方式一:快速部署(使用 docker run 命令)
1. 拉取 pgAdmin 镜像
sudo docker pull dpage/pgadmin4:latest
2. 创建并运行容器
# 运行容器
sudo docker run -d --name pgadmin4 -p 5050:80 -e "PGADMIN_DEFAULT_EMAIL=admin@yourdomain.com" -e "PGADMIN_DEFAULT_PASSWORD=YourSecurePassword123" -v pgadmin_data:/var/lib/pgadmin --restart unless-stopped dpage/pgadmin4:latest
# 查看容器启动状态
sudo docker ps
参数说明:
| 参数 | 说明 |
| -d | 后台运行容器 |
| --name pgadmin4 | 指定容器名称,便于管理 |
| -p 5050:80 | 将宿主机 5050 端口映射到容器 80 端口 |
| -e PGADMIN_DEFAULT_EMAIL |必填,登录邮箱(即用户名) |
| -e PGADMIN_DEFAULT_PASSWORD |必填,登录密码 |
| -v pgadmin_data:/var/lib/pgadmin | 数据持久化,保存服务器列表和配置 |
| --restart unless-stopped | 自动重启策略 |
>注意:如果 5050 端口被占用,可以改为其他端口,如 -p 8080:80。
3. 访问pgadmin 4
在浏览器中访问:
http://{服务器IP}:5050
使用部署时设置的 PGADMIN_DEFAULT_EMAIL 和 PGADMIN_DEFAULT_PASSWORD 登录。,进入以下界面就已经部署完成了
三、方式二:使用 Docker Compose 部署(推荐)
如果你计划同时部署 PostgreSQL 和 pgAdmin,或需要更复杂的配置管理,推荐使用 Docker Compose。
1. 创建 docker-compose.yml 文件
vim docker-compose.yml
写入以下内容:
services:
postgres:
image: postgres:16
container_name: postgres
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: secret
POSTGRES_DB: mydb
volumes:
- postgres_data:/var/lib/postgresql
networks:
- pgnetwork
pgadmin:
image: dpage/pgadmin4:latest
container_name: pgadmin
environment:
PGADMIN_DEFAULT_EMAIL: admin@yourdomain.com
PGADMIN_DEFAULT_PASSWORD: YourSecurePassword123
PGADMIN_LISTEN_PORT: 5050
ports:
- "5050:5050"
volumes:
- pgadmin_data:/var/lib/pgadmin
depends_on:
- postgres
networks:
- pgnetwork
volumes:
postgres_data:
pgadmin_data:
networks:
pgnetwork:
2. 启动服务
sudo docker compose up -d
# 查看容器启动情况
sudo docker ps
四、访问并登录 pgAdmin
容器启动后,在浏览器中访问:
http://你的服务器IP:5050
使用部署时设置的 PGADMIN_DEFAULT_EMAIL 和 PGADMIN_DEFAULT_PASSWORD 登录。
五、连接 PostgreSQL 数据库
登录 pgAdmin 后,点击Add New Server添加数据库连接。根据你的 PostgreSQL 部署方式,填写不同的连接信息:
场景 A:PostgreSQL 通过端口映射运行(未加入自定义网络)
如果 PostgreSQL 是用 docker run -p 5432:5432 方式启动的,pgAdmin 需要通过宿主机 IP 来访问它:
| 字段 | 填写内容 |
| 主机名称/地址 | 你的 Ubuntu 服务器 IP(如 192.168.x.x) |
| 端口 | 5432 |
| 维护数据库 | PostgreSQL 的 POSTGRESpgAdmin是PostgreSQL官方推出的最受欢迎的开源图形化管理工具。它提供了一个直观、强大的图形界面,让数据库管理员和开发人员能更轻松地管理和开发PostgreSQL数据库。_DB 值 |
| 用户名 | PostgreSQL 的 POSTGRES_USER 值 |
| 密码 | PostgreSQL 的 POSTGRES_PASSWORD 值 |
场景 B:PostgreSQL 加入了自定义 Docker 网络
如果 PostgreSQL 和 pgAdmin 在同一个 Docker 网络中(如上面 Docker Compose 方式),可以直接通过容器名称连接:
192.168.66.134
| 字段 | 填写内容 |
| 主机名称/地址 | PostgreSQL 容器名称(如 postgres) |
| 端口 | 5432 |
| 维护数据库/用户名/密码 | 按 PostgreSQL 配置填写 |
填写完成后点击“Save”,就可以开始探索这个平台了!
六、常用管理命令
# 查看容器状态
docker ps | grep pgadmin
# 查看容器日志
docker logs pgadmin4
# 停止容器
docker stop pgadmin4
# 启动容器
docker start pgadmin4
# 删除容器(数据卷保留)
docker rm pgadmin4
# 更新 pgAdmin 版本
docker stop pgadmin4
docker rm pgadmin4
docker pull dpage/pgadmin4:latest
# 重新执行上面的 docker run 命令
七、数据持久化说明
命令中 -v pgadmin_data:/var/lib/pgadmin 创建了一个名为 pgadmin_data 的 Docker 数据卷。这个卷会保存你的服务器列表、查询历史等配置,即使容器被删除,数据也不会丢失。
如需查看数据卷位置:
docker volume inspect pgadmin_data
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)