获取镜像:html
docker pull mdillon/postgis
该 mdillon/postgis
镜像提供了容器中运行Postgres(内置安装PostGIS 2.5) 。该镜像基于官方 postgres
image,提供了多种变体,包括 Postgres 9 支持的 (9.4-9.6), Postgres 10和Postgres 11。git
该镜像保证由父 postgres
image安装了以下的扩展:github
postgis
postgis_topology
fuzzystrmatch
postgis_tiger_geocoder
除非 -e POSTGRES_DB
参数在启动时传递,该database将在admin用户后被命名 (要么是 postgres
或是经过 -e POSTGRES_USER
指定)。 If you would prefer to use the older template database mechanism for enabling PostGIS, the image also provides a PostGIS-enabled template database called template_postgis
.sql
In order to run a basic container capable of serving a PostGIS-enabled database, start a container as follows:docker
docker run --name some-postgis -e POSTGRES_PASSWORD=mysecretpassword -d mdillon/postgis
For more detailed instructions about how to start and control your Postgres container, see the documentation for the postgres
image here.ide
Once you have started a database container, you can then connect to the database as follows:post
docker run -it --link some-postgis:postgres --rm postgres \ sh -c 'exec psql -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U postgres'
See the PostGIS documentation for more details on your options for creating and using a spatially-enabled database.ui
When You encouter errors due to PostGIS update OperationalError: could not access file "$libdir/postgis-X.X
, run:spa
docker exec some-postgis update-postgis.sh
.net
It will update to Your newest PostGIS. Update is idempotent, so it won't hurt when You run it more than once, You will get notification like:
Updating PostGIS extensions template_postgis to X.X.X NOTICE: version "X.X.X" of extension "postgis" is already installed NOTICE: version "X.X.X" of extension "postgis_topology" is already installed NOTICE: version "X.X.X" of extension "postgis_tiger_geocoder" is already installed ALTER EXTENSION Updating PostGIS extensions docker to X.X.X NOTICE: version "X.X.X" of extension "postgis" is already installed NOTICE: version "X.X.X" of extension "postgis_topology" is already installed NOTICE: version "X.X.X" of extension "postgis_tiger_geocoder" is already installed ALTER EXTENSION
参考:
Deploying PostgreSQL Clusters using StatefulSets,https://portworx.com/ha-postgresql-kubernetes/
Crunchy Container Suite,https://github.com/CrunchyData/crunchy-containers