openeuler/postgres Docker Image
基于openEuler构建的官方PostgreSQL Docker镜像,由openEuler CloudNative SIG维护,支持多种PostgreSQL版本和架构(amd64/arm64),提供可靠、高性能的开源关系型数据库服务,适用于各类数据库部署场景。
PostgreSQL | openEuler Docker镜像文档
镜像概述
本镜像为基于https://repo.openeuler.org/构建的PostgreSQL官方Docker镜像,由https://gitee.com/openeuler/cloudnative维护。该镜像免费使用,无每用户速率限制,提供稳定可靠的开源关系型数据库服务。
PostgreSQL是一款功能强大的开源对象关系型数据库系统,拥有超过35年的活跃开发历史,以可靠性、功能健壮性和高性能著称。更多信息请访问https://www.postgresql.org/。
核心功能与特性
- 基于openEuler操作系统构建,确保系统级稳定性与安全性
- 支持多种PostgreSQL版本与openEuler版本组合
- 兼容amd64和arm64两种架构
- 提供完整的PostgreSQL数据库功能,包括ACID事务、高级索引、JSON支持等
- 支持数据持久化存储与自定义配置
支持的标签及Dockerfile链接
每个postgres镜像标签由PostgreSQL版本和基础镜像版本组成,具体如下:
| 标签 | 当前版本信息 | 支持架构 |
|---|---|---|
| https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/postgres/13.3/22.03-lts/Dockerfile | 基于openEuler 22.03-LTS的Postgres 13.3 | amd64, arm64 |
| https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/postgres/16.2/22.03-lts-sp3/Dockerfile | 基于openEuler 22.03-LTS-SP3的Postgres 16.2 | amd64, arm64 |
| https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/postgres/17.0/22.03-lts-sp1/Dockerfile | 基于openEuler 22.03-LTS-SP1的Postgres 17.0 | amd64, arm64 |
| https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/postgres/17.0/22.03-lts-sp3/Dockerfile | 基于openEuler 22.03-LTS-SP3的Postgres 17.0 | amd64, arm64 |
| https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/postgres/17.0/22.03-lts-sp4/Dockerfile | 基于openEuler 22.03-LTS-SP4的Postgres 17.0 | amd64, arm64 |
| https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/postgres/17.0/24.03-lts/Dockerfile | 基于openEuler 24.03-LTS的Postgres 17.0 | amd64, arm64 |
| https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/postgres/17.5/24.03-lts-sp1/Dockerfile | 基于openEuler 24.03-LTS-SP1的Postgres 17.5 | amd64, arm64 |
| https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/postgres/17.6/24.03-lts-sp2/Dockerfile | 基于openEuler 24.03-LTS-SP2的Postgres 17.6 | amd64, arm64 |
使用方法
用户可根据需求选择相应的{Tag}和容器启动选项。
拉取镜像
bashdocker pull docker.xuanyuan.run/openeuler/postgres:{Tag}
启动PostgreSQL实例
bashdocker run -d --name my-postgres -p 30432:5432 -e POSTGRES_PASSWORD=PostgreSQL@123 docker.xuanyuan.run/openeuler/postgres:{Tag}
实例my-postgres启动后,可通过http://localhost:30432访问PostgreSQL服务。
容器启动选项
| 选项 | 描述 |
|---|---|
-p 30432:5432 | 将PostgreSQL服务暴露在localhost:30432 |
-e POSTGRES_PASSWORD=passwd | 设置默认超级用户postgres的密码。注意:本地连接可能无需密码,但外部连接(如其他容器)需要密码。此选项为必填项,且不能为空 |
-e POSTGRES_USER=postgres | 创建具有超级用户权限的新用户,需与POSTGRES_PASSWORD配合使用 |
-e POSTGRES_INITDB_ARGS="--data-checksums" | 传递参数给postgres initdb命令 |
-e POSTGRES_DB=postgres | 设置默认数据库名称 |
-e POSTGRES_INITDB_WALDIR | 设置Postgres事务日志位置,默认存储在主数据文件夹(PGDATA)的子目录中 |
-e POSTGRES_HOST_AUTH_METHOD=trust | 设置host连接的认证方式,适用于所有数据库、用户和地址。若设置此选项,将在pg_hba.conf中添加:host all all all $POSTGRES_HOST_AUTH_METHOD |
-e PGDATA=/path/to/location | 设置数据库文件存储位置,默认值为/var/lib/postgresql/data |
-v /path/to/postgresql.conf:/etc/postgresql/postgresql.conf | 挂载本地配置文件postgresql.conf |
-v /path/to/persisted/data:/var/lib/postgresql/data | 持久化数据,避免每次启动新容器时重新初始化数据库 |
查看容器运行日志
bashdocker logs -f my-postgres
获取交互式shell
bashdocker exec -it my-postgres /bin/bash
问题与反馈
如有任何问题或需要使用特殊功能,请在https://gitee.com/openeuler/openeuler-docker-images提交issue或pull request。
获取帮助
- https://gitee.com/openeuler/cloudnative
- https://gitee.com/openeuler/community
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表。
轩辕镜像加速拉取命令点我查看更多 postgres 镜像标签
docker pull docker.xuanyuan.run/openeuler/postgres:<标签>
DockerHub 原生拉取命令
docker pull openeuler/postgres:<标签>
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务