docker环境快速部署postgresql数据库18及以上版本

使用docker compose快速部署pg数据库18及更高版本。

容器镜像加速参考https://1ms.run/?aff=5510

推荐使用最新容器子版本https://hub.docker.com/_/postgres

compose.yaml文件内容如下

bash 复制代码
# 用于PostgreSQL 18及更高版本。

networks:
  pg-net:
    name: pg-net
    driver: bridge

volumes:
  postgresql-data:
    name: postgresql-data

services:
  postgresql:
    image: postgres:18.6
    container_name: postgresql
    restart: always
    networks:
      - pg-net
    ports:
      - "5432:5432"
    environment:
      - TZ=Asia/Shanghai
      - POSTGRES_USER=hive
      - POSTGRES_PASSWORD=hive
      - POSTGRES_DB=metastore_db
      - POSTGRES_INITDB_ARGS=--encoding=UTF8 --lc-collate=C --lc-ctype=C
      - POSTGRES_HOST_AUTH_METHOD=md5
    volumes:
      - postgresql-data:/var/lib/postgresql/
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 4g
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U hive -d metastore_db"]
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 30s
    command: >
      -c max_connections=1000
      -c shared_buffers=1GB
      -c work_mem=32MB
      -c maintenance_work_mem=256MB
      -c effective_cache_size=3GB
      -c checkpoint_completion_target=0.9
      -c wal_buffers=16MB
      -c default_statistics_target=100
      -c log_min_messages=warning
      -c log_rotation_size=100MB
      -c log_directory=/var/lib/postgresql/data/logs
      -c listen_addresses='*'

  # 轻量数据库Web管理工具(可选,生产环境可注释关闭)
  adminer:
    image: adminer:latest
    container_name: adminer
    restart: always
    networks:
      - pg-net
    ports:
      - "8080:8080"
    environment:
      - TZ=Asia/Shanghai
    depends_on:
      postgresql:
        condition: service_healthy
相关推荐
IvorySQL10 小时前
PostgreSQL 日报|修复截断 zstd 备份检测(10 月 9 日)
数据库·postgresql
sbjdhjd14 小时前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
热爱Liunx的丘丘人15 小时前
1、什么是K8s
云原生·容器·kubernetes
帷幕落秋16 小时前
Docker的两种安装
运维·docker·容器
fengkai454517 小时前
十二、Redis -2
运维·数据库·redis·容器
余槐i17 小时前
200万行表加索引锁死写入:PostgreSQL CONCURRENTLY 的三类等待与重建路径
数据库·postgresql·性能优化·索引·explain
DolitD19 小时前
3D应用多实例并发中的GPU隔离技术路径分析
容器·gru·接口隔离原则
姜鱼问生20 小时前
docker exec 排查容器问题:从日志到进程
运维·网络·数据库·docker·容器
小匠石钧知1 天前
07_在k8s集群中安装ingress-nginx
nginx·容器·kubernetes·ingress
杨云龙UP1 天前
PostgreSQL 四种常见部署模式快速理解:单实例、流复制、repmgr、Patroni
linux·运维·数据库·postgresql·流复制·高可用ha