用docker部署postgres 10 + postgis 2.4.1

Posted 永远的幻想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用docker部署postgres 10 + postgis 2.4.1相关的知识,希望对你有一定的参考价值。

dockerhub官网直接有postgis镜像,但是pg版本低,还是9.x的

所以就选择自己配个pg10+postgis 2.4.1

 

postgres在dockerhub的官方介绍不是太清楚,没有演示-v 

我目前的主要需求是:

db用镜像起容器

数据内容保存在容器外

启动db容器时,用-v把数据内容挂进去

主要目的就是懒得安装db配参数,然后,db更新升级的时候别影响数据。

 

yml这样写

# Use postgres/example user/password credentials
version: ‘3.1‘

services:
    db:
        image: postgres
        restart: always
        environment:
            POSTGRES_PASSWORD: example
        volumes:
            - /home/db/postgres:/var/lib/postgresql/data

    adminer:
        image: adminer
        restart: always
        ports:
            - 8080:8080

/home/db/postgres是自己随便写的。可以事先不存在。

放在/home,是因为装系统的时候/home为独立分区,重装系统的时候只要挂载点选上home,就完全保留数据。

 

然后用adminer 登录数据库。用户名用 postgres 密码是 example

老实说,和pg的文档八字不合。先是没看懂dockerhub里各种乱七八糟的参数设置介绍(例子里用全局变量配了密码,可是不配用户名,莫名其妙啊);

然后没看懂“Use postgres/example user/password” 这句话。直接写 user:postgres password:example,或者加个as “ use postgres/example as user/password”行吗?

是我智力低, 脑抽了,还是他文档过于奇葩?

反正主要是为了postgis也就忍了。

PostGIS

安装依赖项一堆,除去常见的gcc make g++,这些不算,gdal geos proj4 3件套是必装的,官网的各种版本依赖关系矩阵茫茫多啊。。。然后还有json-c什么的。

实在懒得自己配了。直接参考github上docker-postgis

只砍了一句,不知道postgis 2.4.1的 SHA256码是多少,砍了 

 

以上是关于用docker部署postgres 10 + postgis 2.4.1的主要内容,如果未能解决你的问题,请参考以下文章

使用 docker-compose 启动 Postgres 会立即关闭

利用docker和docker-compose部署Nextcloud服务(nginx-fdm-postgres)

Postgres 和 Docker 在文件更改时重新部署

在 Docker 中使用 Postgres 在 HA 中部署 Keycloak 时出现问题

docker-compose spring boot无法连接到Postgres [重复]

postgres和mysql基于docker搭建以及phppgadmin和phpmyadmin的应用(个人备份用非教程)