ARTICLE · 1110395
超简单!Docker 快速安装 PostgreSQL 数据库教程
超简单!Docker 快速安装 PostgreSQL 数据库教程




PostgreSQL(简称PG)是一款开源稳定的关系型数据库,借助Docker安装无需复杂的环境配置,一键即可部署,兼顾高效性与便携性。
今天给大家分享两种实用安装方式,新手推荐快速部署,生产环境优先使用docker-compose。
一、快速部署:docker run 单行安装
首先拉取稳定版PG镜像,推荐16版本,兼容性极强:
docker pull postgres:16
执行启动命令,配置账号、密码、时区和数据持久化,避免容器删除丢失数据:
docker run -d \ --name pg16 \ -p 5432:5432 \ -e POSTGRES_USER=postgres \ -e POSTGRES_PASSWORD=123456 \ -e POSTGRES_DB=testdb \ -e TZ=Asia/Shanghai \ -v /data/postgres/pg16_data:/var/lib/postgresql/data \ --restart=always \ postgres:16
参数说明:
• --name pg16:容器名• -p 5432:5432:宿主机端口:容器端口• POSTGRES_PASSWORD必填,超级用户密码• POSTGRES_DB=testdb:首次初始化自动创建 testdb 库• TZ=Asia/Shanghai设置时区• -v pg16_data:/var/lib/postgresql/data:命名卷持久化数据,删除容器数据不会丢• --restart=always开机自启
命令核心配置:设置开机自启、上海时区,默认端口5432,自动创建测试数据库,数据持久化挂载到本地目录。
安装完成后,输入 docker ps | grep pg16 查看容器运行状态,通过 docker exec -it pg16 psql -U postgres -d testdb 进入数据库,执行SELECT version(); 即可验证安装成功。
# 查看容器是否运行docker ps | grep pg16# 进入容器内psql客户端docker exec -it pg16 psql -U postgres -d testdb
登录成功后,执行测试 sql:
SELECT version();二、生产优选:docker-compose 安装
新建docker-compose.yml配置文件,规范化管理容器,配置参数与快速版一致,支持自定义初始化脚本。保存文件后,执行 docker compose up -d 后台启动服务,通过docker compose logs -f pg16查看运行日志。
新建 docker-compose.yml
version: '3.8'services: postgres: image: postgres:16 container_name: pg16 restart: always ports: - "5432:5432" environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: 123456 POSTGRES_DB: testdb TZ: Asia/Shanghai volumes: - pg16_data:/var/lib/postgresql/data# 可选:挂载初始化sql,容器首次启动自动执行# - ./init:/docker-entrypoint-initdb.dvolumes: pg16_data:启动:
# 后台启动docker compose up -d# 查看日志docker compose logs -f pg16三、常用基础操作
日常可通过简单命令管理容器:启停容器、删除容器、清空数据卷,同时附带在线改密码指令,满足日常运维需求,全程操作简单、零门槛。
# 停止容器docker stop pg16# 启动docker start pg16# 删除容器(卷pg16_data不会被删除)docker rm pg16# 删除数据卷(清空所有数据库数据,谨慎!)docker volume rm pg16_data修改 postgres 密码示例(容器已启动后)
docker exec -it pg16 psql -U postgresALTER USER postgres WITH PASSWORD 'newpass';