1、使用yml文件部署

version: '3.8'

services:
  postgres:
    image: postgres:latest  # 自动拉取最新稳定版
    container_name: postgres-server
    restart: always  # 异常退出自动重启
    environment:
      POSTGRES_USER: root   # 替换为管理员用户名
      POSTGRES_PASSWORD: Wsh@9210832  # 替换为强密码(12位+)
      POSTGRES_DB: postgres  # 初始创建的数据库名
    ports:
      - "5433:5432"  # 暴露端口给宿主机和外部网络
    volumes:
      - /volume3/DataSource/postgres/postgres:/var/lib/postgresql/data  # 持久化数据存储
    networks:
      - app-network  # 加入共享网络

networks:
  app-network:
    driver: bridge  # 桥接模式支持容器间及外部访问

1、使用docker-compose.yml部署Postgres-sql程序

注意 environment 里面部分字段需要自定义

networks:
  postgres_app-network:
    external: true
    name: "postgres_app-network"

services:
  postgres-server:
    command:
      - "postgres"
    container_name: "postgres-server"
    entrypoint:
      - "docker-entrypoint.sh"
    environment:
      - "POSTGRES_PASSWORD=Wsh@9210832"
      - "POSTGRES_DB=postgres"
      - "POSTGRES_USER=root"
      - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/17/bin"
      - "GOSU_VERSION=1.17"
      - "LANG=en_US.utf8"
      - "PG_MAJOR=17"
      - "PG_VERSION=17.5-1.pgdg120+1"
      - "PGDATA=/var/lib/postgresql/data"
    hostname: "ba62d6636be1"
    image: "postgres:latest"
    ipc: "private"
    labels:
      com.docker.compose.config-hash: "99c7372ba66b9d8e9ebb932190512317e9ccc0a0a7e14532789f23c177d6148b"
      com.docker.compose.container-number: "1"
      com.docker.compose.depends_on: ""
      com.docker.compose.image: "sha256:8663c6099632b20b61322e6f9a0a6aa4034ed061bfec05949566f352b92dc5fa"
      com.docker.compose.oneoff: "False"
      com.docker.compose.project: "postgres"
      com.docker.compose.project.config_files: "/volume3/DataSource/postgres/compose.yaml"
      com.docker.compose.project.working_dir: "/volume3/DataSource/postgres"
      com.docker.compose.replace: "2a699466bdea409076ffaf23ea217bcd74cf014cfd31f2e71dcc25bbdbae5a39"
      com.docker.compose.service: "postgres"
      com.docker.compose.version: "2.20.1"
    logging:
      driver: "db"
      options: {}
    networks:
      - "postgres_app-network"
    ports:
      - "5433:5432/tcp"
    restart: "always"
    volumes:
      - "/volume3/DataSource/postgres/postgres:/var/lib/postgresql/data"

version: "3.6"