
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Pgweb 是一款跨平台、基于 Web 的 PostgreSQL 数据库浏览器,采用 Go 语言开发。它提供直观的 Web 界面,支持用户通过浏览器便捷地管理、查询和浏览 PostgreSQL 数据库。
4.1.1 拉取镜像
从 Docker Hub 拉取 Pgweb 最新镜像:
bashdocker pull sosedoff/pgweb
4.1.2 启动容器
运行容器并映射端口(默认使用 8081 端口提供 Web 服务):
bashdocker run -p 8081:8081 sosedoff/pgweb
-p 8081:8081 表示将容器内的 8081 端口映射到主机的 8081 端口,确保外部可通过主机端口访问 Pgweb 服务。4.1.3 访问 UI
容器启动后,通过浏览器访问 http://localhost:8081 即可打开 Pgweb 界面。首次访问需手动配置数据库连接信息(如未通过环境变量预设)。
通过 Docker Compose 可实现 Pgweb 与 PostgreSQL 数据库的联动部署,简化多容器协调。
4.2.1 创建配置文件
新建 docker-compose.yml 文件,内容如下:
yamlversion: '3' # 需根据 Docker Compose 版本调整,如 '2' 或 '3.8' services: pgweb: container_name: pgweb # 容器名称 restart: always # 容器退出后自动重启 image: sosedoff/pgweb # 使用的 Docker 镜像 ports: - "8081:8081" # 端口映射:主机端口:容器端口 links: - postgres:postgres # 链接到名为 postgres 的数据库容器(需确保数据库容器名称为 postgres) environment: # 数据库连接 URL,格式:postgres://用户:密码@主机:端口/数据库名?sslmode=disable - DATABASE_URL=postgres://postgres:postgres@postgres:5432/postgres?sslmode=disable depends_on: - postgres # 依赖 postgres 服务,确保先启动数据库 postgres: # 示例 PostgreSQL 服务(实际使用时可替换为已有数据库) image: postgres:14 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=postgres ports: - "5432:5432"
4.2.2 启动服务
在配置文件所在目录执行以下命令启动服务:
bashdocker-compose up -d # -d 表示后台运行
服务启动后,通过 http://localhost:8081 访问 Pgweb,无需手动配置连接(已通过 DATABASE_URL 自动注入)。
| 环境变量 | 说明 | 示例值 |
|---|---|---|
DATABASE_URL | PostgreSQL 数据库连接 URL,用于指定 Pgweb 连接的数据库信息。 | postgres://user:pass@postgres-host:5432/mydb?sslmode=disable |
DATABASE_URL 格式说明:
postgres://<用户名>:<密码>@<主机地址>:<端口>/<数据库名>?<额外参数>
<用户名>:数据库访问用户名(如 postgres)。<密码>:用户名对应的密码。<主机地址>:PostgreSQL 服务地址(Docker 环境中可使用容器名,如 postgres)。<端口>:PostgreSQL 服务端口(默认 5432)。<数据库名>:要连接的数据库名称。<额外参数>:可选,如 sslmode=disable(禁用 SSL,适合本地开发环境)。Pgweb 默认使用 8081 端口提供 Web 服务,容器部署时需通过 -p <主机端口>:8081 映射端口,确保外部可访问。若主机 8081 端口被占用,可替换为其他端口(如 -p 8082:8081)。
sslmode=require 配置)并限制访问 IP。depends_on 仅保证启动顺序,不保证数据库完全就绪,生产环境建议添加健康检查(如 healthcheck 配置)。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务