本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本镜像是由 Kasm Technologies 维护的 PostgreSQL 数据库镜像,基于官方 PostgreSQL 镜像构建,包含 pg_audit 审计扩展及其他定制化修改,旨在提供增强的数据库审计能力和灵活的配置选项。
pg_audit,可细粒度记录数据库活动(如 DDL、DML 操作、用户登录/退出等)。pg_audit 实现合规性审计,支持按操作类型(如 ddl、write、read)、用户角色、数据库对象等维度配置审计规则。pg_audit,镜像启动时可自动启用扩展(需配置)。docker run -d \ --name kasm-postgres \ -e POSTGRES_PASSWORD=mysecretpassword \ -p 5432:5432 \ kasmtech/postgres:latest
通过挂载卷(Volume)持久化数据库数据,避免容器删除后数据丢失:
docker run -d \ --name kasm-postgres \ -e POSTGRES_PASSWORD=mysecretpassword \ -v /path/on/host/postgres-data:/var/lib/postgresql/data \ # 持久化数据目录 -p 5432:5432 \ kasmtech/postgres:latest
支持官方 PostgreSQL 镜像的所有标准环境变量,核心变量如下:
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
POSTGRES_DB | 初始化数据库名称 | postgres |
POSTGRES_USER | 数据库管理员用户名 | postgres |
POSTGRES_PASSWORD | 管理员用户密码(必填) | 无 |
POSTGRES_INITDB_ARGS | initdb 命令额外参数(如字符集配置) | 无 |
针对 pg_audit 及定制化配置的扩展变量:
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
KASM_PGAUDIT_ENABLE | 是否启用 pg_audit 扩展(true/false) | true |
KASM_PGAUDIT_LOG | pg_audit 审计日志级别(如 ddl,write) | ddl |
KASM_POSTGRES_CONFIG_EXTRA | 额外的 PostgreSQL 配置参数(键值对,逗号分隔,如 max_connections=100,shared_buffers=256MB) | 无 |
version: '3.8' services: postgres: image: kasmtech/postgres:latest container_name: kasm-postgres restart: always environment: POSTGRES_USER: admin POSTGRES_PASSWORD: ${DB_PASSWORD} # 建议通过环境变量文件传入,避免明文 POSTGRES_DB: appdb KASM_PGAUDIT_ENABLE: "true" KASM_PGAUDIT_LOG: "ddl, write, function" # 审计 DDL、写操作及函数调用 KASM_POSTGRES_CONFIG_EXTRA: "max_connections=200,log_min_messages=notice" ports: - "5432:5432" volumes: - postgres-data:/var/lib/postgresql/data # 命名卷持久化数据 networks: - app-network networks: app-network: driver: bridge volumes: postgres-data: # 自动创建命名卷
若已设置 KASM_PGAUDIT_ENABLE=true,镜像启动时会自动加载 pg_audit 扩展并应用 KASM_PGAUDIT_LOG 配置。例如:
docker run -d \ --name kasm-postgres \ -e POSTGRES_PASSWORD=secret \ -e KASM_PGAUDIT_ENABLE=true \ -e KASM_PGAUDIT_LOG="ddl, write, read" \ # 审计 DDL、写操作、读操作 kasmtech/postgres:latest
如需更细粒度控制 pg_audit 规则,可通过以下步骤修改配置:
进入容器:
docker exec -it kasm-postgres bash
编辑 PostgreSQL 配置文件:
vi /var/lib/postgresql/data/postgresql.conf
调整 pg_audit 配置(示例):
# 启用 pg_audit(镜像默认已配置,无需重复设置) shared_preload_libraries = 'pg_audit' # 确保包含 pg_audit # 审计规则配置 pg_audit.log = 'ddl, write, function' # 审计 DDL、写操作、函数调用 pg_audit.log_catalog = on # 审计系统目录操作 pg_audit.log_parameter = on # 记录 SQL 参数值 pg_audit.log_relation = on # 记录关联表名
重启 PostgreSQL 服务:
su - postgres -c "pg_ctl reload"
kasmtech/postgres:16 对应 PostgreSQL 16.x)。pg_dump 工具或第三方备份方案(如 WAL-G)实现。pg_audit 日志默认写入 PostgreSQL 日志文件,需配置日志轮转(如 logrotate)避免磁盘占满。
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429