Skip to content

Docker 安装 PostgreSQL

Dockerfile 介绍

官方镜像:https://hub.docker.com/_/postgres

镜像 Github 仓库:https://github.com/docker-library/postgres

官方镜像

bash
docker run \
--name postgres \
--restart=unless-stopped \
-p 5432:5432 \
-e TZ=Asia/Shanghai \
-e PGTZ=Asia/Shanghai \
-e POSTGRES_DB=postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=1qaz2wsx \
-v /var/lib/postgresql/data:/var/lib/postgresql/data \
-d postgres:14

参数说明

shell
# 数据库
-e POSTGRES_DB=postgres

# 管理员用户名。不指定则默认为:postgres
-e POSTGRES_USER=postgres

# 管理员用户密码。
-e POSTGRES_PASSWORD=1qaz2wsx

启动报 failure: Operation not permitted 异常

这在旧的操作系统或者 CPU 下可能就会报错。

txt
popen failure: Operation not permitted
initdb: error: program "postgres" is needed by initdb but was not found in the same directory as "/usr/lib/postgresql/15/bin/initdb"

这时候就需要在 docker run 命令中加入 --privileged=true 启动参数。