獲取鏡像: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