1. 查找postgres和postgis现有的镜像和版本号
镜像搜索网站:https://docker.aityp.com/
测试使用的是postgres:15.4 和 postgis:15-3.4
2、镜像拉取
bash
docker pull postgres:15.4
docker pull postgis/postgis:15-3.4
镜像下载完成,docker images 查看如下
3、启动容器
bash
# 创建postgres文件夹
mkdir /home/postgres
注意:--privileged=true参数一定要加上,否则会报无权限错误。
bash
# 启动普通postgres的镜像
docker run -it --name postgres \ # 创建容器名称
--restart=always \ # 自动启动
--privileged=true \ # 赋予容器几乎与主机相同的权限
ALLOW_IP_RANGE=0.0.0.0/0 \ # 允许所有ip访问,不加非本机ip访问不了
-e POSTGRES_USER=postgres \ # postgresql 用户名
-e POSTGRES_PASSWORD=P@ssw0rd123456 -e \ # postgresql 密码
-v /home/postgres/postgresql :/var/lib/postgresql \ # postgresql数据卷映射到本地环境
-p 54321:5432 # 占用服务器端口:docker内部虚拟端口
-d postgres:15.4 # 使用的镜像名称:版本
bash
# 启动带postgis的镜像
docker run --name postgis_postgres \ # 创建容器名称
--restart=always \ # 自动启动
--privileged=true \ # 赋予容器几乎与主机相同的权限
ALLOW_IP_RANGE=0.0.0.0/0 \ # 允许所有ip访问,不加非本机ip访问不了
-e POSTGRES_USER=postgres \ # postgresql 用户名
-e POSTGRES_PASSWORD=P@ssw0rd123456 \ # postgresql 密码
-p 54321:5432 / # 占用服务器端口:docker内部虚拟端口
-v /host/postgres/postgis:/var/lib/postgis \ # postgis数据卷映射到本地环境
-v /host/postgres/postgresql:/var/lib/postgresql \ # postgresql数据卷映射到本地环境
-d postgis/postgis:15-3.4 # 使用的镜像名称:版本