docker安装PostgreSQL+PostGiS

        要按照公司已有的postgresql重新搭建一套数据库,查看原有版本,PostgreSQL是10.5,PostGiS是2.4.5,然后查了些资料,docker内安装postgres:10.5,然后再容器内安装postgis插件,因为公司服务器是离线环境,所以打算先在阿里云服务器上安装配置好,再将容器打包成镜像,移植到的离线服务器,然后整整安装了两天,踩了各种坑,也没安装成功。

踩坑方案一:docker安装postgres:10.5,然后通过导入postgis2.4.5包进行安装,已失败告终。

踩坑方案二:docker安装postgres:10.5,然后通过apt-get安装postgres-10-postgis-2.4,因切换了各种源(阿里、163、清华)都没有10-2.4版本,失败

搞了整整两天,头昏脑胀,也没成功,然后,突然在csdn上看到了一篇文章Docker 环境安装postgres+postgis扩展原来,直接docker安装postgis就可以了............ mmp


1、访问docker镜像网站查看要需要安装的版本

2、选择一个查找自己需要的版本

(我这里选择的是第一个corpusops/postgis,推荐postgis/postgis,里面没有我需要的10-2.4)

依次点击corpusops/postgis->Tags,将Sort by选为A-Z,可以看到下面有若干个版本,选择10-2.4

从IMAGE LAYERS内可以看到,该镜像源对应的postgres和postgis版本

3、选择该版本镜像安装

复制pull命令,在阿里云服务器上执行

docker pull corpusops/postgis:10-2.4

4、运行该镜像

        在服务器上创建数据卷映射文件夹

mkdir -p /data/postgres/postgresql/data
mkdir -p /data/postgres/postgis/data
docker run --name postgis_postgres --restart=always -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=123456 -e POSTGRES_DBNAME=gis_db -p 5432:5432 -v /data/postgres/postgis/data:/var/lib/postgis/data -v /data/postgres/postgresql/data:/var/lib/postgresql/data -d corpusops/postgis:10-2.4

        参数说明:

docker run 
--name postgis_postgres     # 创建容器名称
--restart=always #自动启动
-e POSTGRES_USER=postgres     #postgresql 用户名
-e POSTGRES_PASSWORD=123456     #postgresql 密码
-e POSTGRES_DBNAME=gis_db  #添加环境变量
-p 5432:5432     # 占用服务器端口:docker内部虚拟端口
-v /data/postgres/postgis/data:/var/lib/postgis/data  #postgis数据卷映射到本地环境
-v /data/postgres/postgresql/data:/var/lib/postgresql/data #postgresql数据卷映射到本地环境
-d corpusops/postgis:10-2.4 #使用的镜像名称:版本

5、本地通过pgadmin4访问

(需要将服务的5432端口打开)

pgadmin4请访问pgadmin官网下载地址自行下载安装,需要注意的是pgadmin4无法连接老版本的pg数据库,比如我安装的macOS pgAdmin 4 v6.21 连接postgres:9.6会报如下错误:

打开安装好的pgadmin4

pgadmin官网下载地址

需要先设置软件主密码(不是连接数据库的密码),随意设置 ,记得住就好,每次使用pgadmin需要输入,比如我设置的123456

设置好之后,依次点击

输入连接配置,名称自定义

可以看到连接的pg数据库中包含一个名为postgres的数据库,该库为pg默认创建的,在扩展下除了postgis外,还包含了其它几个插件,这是这个镜像源自带的

6、创建自己的数据库并添加postgis

右键点击postgis-》CREATE脚本

 复制改create命令

-- Extension: postgis

-- DROP EXTENSION postgis;

CREATE EXTENSION IF NOT EXISTS postgis
    SCHEMA public
    VERSION "2.4.4";

创建数据库

添加postgis

将刚才复制的create命令复制到查询窗口

查看test数据库,可以看到已经安装好了postgis和其中的函数、类型、默认表 

至此,安装posgresql+postgis完成,如需安装其它版本请自行通过docker镜像网站查找pull命令。

  • 26
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值