PostgreSQL是一款功能丰富的关系型数据库,类似于MySQL,它也是受欢迎程度非常高的。
今天就来简单分享一下使用Docker安装部署PostgreSQL的过程。
1,拉取镜像
拉取PostgreSQL的最新镜像即可:
docker pull postgres
默认的镜像版本(latest)是基于Debian镜像的,如果你希望拉取体积更小的PostgreSQL镜像可以拉取基于Alpine的:
docker pull postgres:alpine
2,创建数据卷
我们最好是创建一个数据库以持久化PostgreSQL的数据:
docker volume create postgre-data
3,创建并运行容器
执行下列命令:
docker run -id --name=postgresql -p 5432:5432 \
-v postgre-data:/var/lib/postgresql \
-e POSTGRES_PASSWORD=123456 \
-e LANG=C.UTF-8 \
postgres
上述设定了数据卷,以及暴露了端口5432,这是PostgreSQL的默认端口。
对于数据卷,需要注意的是:
- 对于PostgreSQL 18及其以上版本,官方Dockerfile中声明的数据目录是
/var/lib/postgresql,即上述命令中指定数据卷所使用的 - 对于PostgreSQL 17及其以下版本,官方Dockerfile中声明的数据目录是
/var/lib/postgresql/data,如果你使用的是17及其以下版本,则需要将上述命令-v的数据卷postgre-data对应的容器目录同步修改
除此之外,我们还设定了下列环境变量:
POSTGRES_PASSWORD设定PostgreSQL的超级用户的密码,这里设定为123456,PostgreSQL容器的超级用户用户名为postgresLANG设定语言环境为C.UTF-8以支持中文- 此外,还可以设定环境变量
POSTGRES_USER来指定超级用户的用户名,上述没有指定这个环境变量则默认是postgres
参考:
- PostgreSQL镜像主页:传送门