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"
评论