注意: 此镜像的描述超出了Hub的25000字符限制,因此已被截断。完整描述可在[***]
注意: 这是postgres镜像的amd64架构构建的"每架构"仓库——更多信息,请参阅镜像文档中的"除amd64之外的架构?"和***镜像FAQ中的"Git中的镜像源已更改,现在该怎么办?"。
维护者:
PostgreSQL Docker社区
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
Dockerfile链接18.0, 18, latest, 18.0-trixie, 18-trixie, trixie
18.0-bookworm, 18-bookworm, bookworm
18.0-alpine3.22, 18-alpine3.22, alpine3.22, 18.0-alpine, 18-alpine, alpine
18.0-alpine3.21, 18-alpine3.21, alpine3.21
17.6, 17, 17.6-trixie, 17-trixie
17.6-bookworm, 17-bookworm
17.6-alpine3.22, 17-alpine3.22, 17.6-alpine, 17-alpine
17.6-alpine3.21, 17-alpine3.21
16.10, 16, 16.10-trixie, 16-trixie
16.10-bookworm, 16-bookworm
16.10-alpine3.22, 16-alpine3.22, 16.10-alpine, 16-alpine
16.10-alpine3.21, 16-alpine3.21
15.14, 15, 15.14-trixie, 15-trixie
15.14-bookworm, 15-bookworm
15.14-alpine3.22, 15-alpine3.22, 15.14-alpine, 15-alpine
15.14-alpine3.21, 15-alpine3.21
14.19, 14, 14.19-trixie, 14-trixie
14.19-bookworm, 14-bookworm
14.19-alpine3.22, 14-alpine3.22, 14.19-alpine, 14-alpine
14.19-alpine3.21, 14-alpine3.21
13.22, 13, 13.22-trixie, 13-trixie
13.22-bookworm, 13-bookworm
13.22-alpine3.22, 13-alpine3.22, 13.22-alpine, 13-alpine
13.22-alpine3.21, 13-alpine3.21
问题反馈地址:
[***]
支持的架构:(更多信息)
amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、mips64le、ppc64le、riscv64、s390x
镜像 artifact 详情:
repo-info 仓库的 repos/postgres/ 目录(历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/postgres 标签
official-images 仓库的 library/postgres 文件(历史记录)
本文档来源:
docs 仓库的 postgres/ 目录(历史记录)
PostgreSQL(通常简称为"Postgres")是一个对象关系型数据库管理系统(ORDBMS),强调可扩展性和标准合规性。作为数据库服务器,其主要功能是安全地存储数据并支持最佳实践,随后根据其他软件应用的请求检索数据,这些应用可能运行在同一台计算机上,也可能运行在网络(包括互联网)中的另一台计算机上。它可以处理从小型单机应用到具有大量并发用户的大型互联网应用的各种工作负载。最新版本还提供数据库本身的复制功能,以增强安全性和可扩展性。
PostgreSQL 实现了 SQL:2011 标准的大部分内容,支持 ACID 事务(包括大多数 DDL 语句),使用多版本并发控制(MVCC)避免锁定问题,提供脏读免疫和完全可串行化;使用许多其他数据库不具备的索引方法处理复杂 SQL 查询;支持可更新视图、物化视图、触发器、外键;支持函数和存储过程等扩展功能,并有大量第三方编写的扩展。除了能够与主要的专有和开源数据库协作外,PostgreSQL 通过广泛的标准 SQL 支持和可用的迁移工具支持从这些数据库迁移。如果使用了专有扩展,其可扩展性可以通过一些内置和第三方开源兼容性扩展(如 Oracle 兼容扩展)来模拟许多功能。
***.org/wiki/PostgreSQL
!logo
console$ docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d amd64/postgres
默认的 postgres 用户和数据库在入口点通过 initdb 创建。
postgres 数据库是一个默认数据库,供用户、工具和第三方应用使用。
postgresql.org/docs
psql 使用console$ docker run -it --rm --network some-network amd64/postgres psql -h some-postgres -U postgres psql (14.3) Type "help" for help. postgres=# SELECT 1; ?column? ---------- 1 (1 row)
docker compose 使用postgres 的 compose.yaml 示例:
yaml# 使用 postgres/example 用户/密码凭据 services: db: image: postgres restart: always # 使用 docker compose 时设置共享内存限制 shm_size: 128mb # 或通过 swarm stack 部署时设置共享内存限制 #volumes: # - type: tmpfs # target: /dev/shm # tmpfs: # size: *** # 128*2^20 字节 = 128Mb environment: POSTGRES_PASSWORD: example adminer: image: adminer restart: always ports: - 8080:8080
运行 docker compose up,等待完全初始化后,访问 http://localhost:8080 或 [***](根据实际情况)。
有多种方式可以扩展 postgres 镜像。这里不尝试支持所有可能的用例,仅介绍一些我们认为有用的方式。
PostgreSQL 镜像使用多个容易被忽略的环境变量。唯一必需的变量是 POSTGRES_PASSWORD,其余为可选。
警告: 只有当您使用空数据目录启动容器时,Docker 特定变量才会生效;容器启动时,任何预先存在的数据库都将保持不变。
POSTGRES_PASSWORD此环境变量是使用 PostgreSQL 镜像所必需的。它不能为空或未定义。此环境变量设置 PostgreSQL 的超级用户密码。默认超级用户由 POSTGRES_USER 环境变量定义。
注意 1: PostgreSQL 镜像在本地设置了 trust 身份验证,因此您可能会注意到从 localhost(容器内部)连接时不需要密码。但是,如果从不同的主机/容器连接,则需要密码。
注意 2: 此变量定义 PostgreSQL 实例中的超级用户密码,由初始容器启动期间


来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429