使用 Docker 部署 Postgres
约 392 字大约 1 分钟
2025-12-25
在 Ubuntu 上部署 Postgres 实例
拉取 Postgres 镜像:
docker pull postgres[!IMPORTANT] 注意事项 从 PostgreSQL 18+ 版本开始,官方镜像建议将数据目录挂载到
/var/lib/postgresql而非/var/lib/postgresql/data。如果你是从旧版本升级镜像,直接挂载旧目录会导致启动失败。
极简运行 Postgres 实例
docker run --restart=always -itd --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres解析:
--restart=always:容器重启时自动启动。-itd:交互式模式运行容器,后台模式。--name postgres:为容器命名为 postgres。-p 5432:5432:将主机的 5432 端口映射到容器的 5432 端口。-e POSTGRES_PASSWORD=postgres:设置 Postgres 数据库的密码为 postgres。postgres:使用 Postgres 镜像。
配置 Postgres 持久化实例
方案一:使用最新版本 (18+)
创建一个目录用于存储 Postgres 数据:
mkdir -p /data/postgres/运行 Postgres 容器:
docker run --restart=always -itd \
--name postgres \
-p 5432:5432 \
-e POSTGRES_PASSWORD=postgres \
-v /data/postgres/:/var/lib/postgresql \
postgres方案二:固定使用旧版本 (如 17)
如果你有现存的 /var/lib/postgresql/data 格式数据,建议固定版本:
docker run --restart=always -itd \
--name postgres \
-p 5432:5432 \
-e POSTGRES_PASSWORD=postgres \
-v /data/postgres/:/var/lib/postgresql/data \
postgres:17解析:
-v /data/postgres/:/var/lib/postgresql/data:将主机的 /data/postgres/ 目录挂载到容器的 /var/lib/postgresql/data 目录,用于持久化存储数据。
进入容器之后修改 postgres 用户密码
进入 Postgres 容器:
docker exec -it postgres psql -U postgres解析:
docker exec -it postgres psql -U postgres:进入 Postgres 容器的 psql 命令行界面,使用 postgres 用户进行登录。 修改 postgres 用户密码为 postgres:
ALTER USER postgres PASSWORD 'postgres';