docker 部署带postgis扩展的postgresql

版权声明:转载请注明出处 https://blog.csdn.net/geol200709/article/details/89481194

环境:Ubuntu 16
docker: 18.06.1-ce

使用 kartoza/postgis 镜像安装,github地址

  1. 拉取镜像
docker pull kartoza/postgis

这个是拉取最新的(即 lastest ),当然也可以指定版本:
kartoza/postgis:[postgres_version]-[postgis-version]
当前最近几个组合版本有:

  • 11.0-2.5
  • 10.0-2.4
  • 9.6-2.4
# 例如:拉取 postgresql 9.6 版本以及postgis 2.4 版本
docker pull kartoza/postgis:9.6-2.4

另外,还可以通过github源码进行构建,不做详细展开

docker build -t kartoza/postgis git://github.com/kartoza/docker-postgis
  1. 跑起来
$ docker run -d --name postgresql2 --restart always -e POSTGRES_USER=abcuser -e POSTGRES_PASS='abc123' -e ALLOW_IP_RANGE=0.0.0.0/0 -v /docker_root/postgresql11-docker:/var/lib/postgresql -v /4T/tmp:/tmp/tmp -p 55433:5432 -t kartoza/postgis

其中

  • -e ALLOW_IP_RANGE=0.0.0.0/0,这个表示允许所有ip访问,如果不加,则非本机 ip 访问不了
  • -e POSTGRES_USER=abcuser 用户名
  • -e POSTGRES_PASS=‘abc123’ 指定密码

其他阅读官方文档

附上其他几个额外问题:

  1. 数据库默认 SQL_ASCII,中文会显示乱码
    解决方案:改为UTF8(改完能正常显示),网上也有说改成GBK(没试过)
    查看编码情况:
    pg_encoding
    将SQL_ASCII改成UTF8,可以通过SQL语句执行
update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'basemap'

其中,basemap,是数据库名称

  1. 查看 pg 版本
    有时想看看安装的到底是什么版本
show server_version;
# 或者
select version();

以上两条语句任选一条即可

猜你喜欢

转载自blog.csdn.net/geol200709/article/details/89481194
今日推荐