hcrit/postgis is a fork of postgis/postgis docker image with certain additions:
hr_HR$POSTGRES_DB is createdCode is available at https://gitlab.com/cudovix/docker-postgis .
All changes are in the hcrit branch, so master branch is the same as in https://github.com/postgis/docker-postgis which is automatically mirrored into this repository.
Docker images are available at https://hub.docker.com/repository/docker/hcrit/postgis
$ docker pull hcrit/postgis:latest
Additions to postgis/postgis are applied for the following image tags:
To create additional user with CREATEDB privilege and all privileges on database $POSTGRES_DB, set environment variables DB_USER and DB_PASSWORD. If they are not defined, no additional user will be created.
To run the container you can set environment variables POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB, DB_USER, DB_PASSWORD (some are optional) or pass them in the command. The easiest way is to put all varables into postgres.env file and pass it in the command.
Command passing the variable POSTGRES_PASSWORD:
$ docker run -d --name container_name -p 5432:5432 -v persistent_path:/var/lib/postgresql/data -e POSTGRES_PASSWORD=password hcrit/postgis:latest
Using postgres.env file:
$ docker run -d --name container_name -p 5432:5432 -v persistent_path:/var/lib/postgresql/data --env-file=postgres.env hcrit/postgis:latest
To run psql in the container on a docker host:
$ docker exec -it container_name psql -U user_name -d database_name
To run bash shell in the container on a docker host:
$ docker exec -it container_name bash
For building the image you can use script build.sh:
$ cd 12-3.0
$ . build.sh
For running the container you can use script run.sh. Before running, be sure to update run.sh to set
container name, database port and local directory for persistent data mapping of /var/lib/postgresql/data. Also copy postgres.env.example to postgres.env and edit the values.
$ cd 12-3.0
$ . run.sh
The postgis/postgis image provides tags for running Postgres with PostGIS extensions installed. This image is based on the official postgres image and provides debian and alpine variants for PostGIS both 2.5.x and 3.0.x for each supported version of Postgres (9.5, 9.6, 10, 11, and 12). Additionally, an image version is provided which is built from the latest version of Postgres (12) with versions of PostGIS and its dependencies built from their respective master branches.
This image ensures that the default database created by the parent postgres image will have the following extensions installed:
postgispostgis_topologyfuzzystrmatchpostgis_tiger_geocoderUnless -e POSTGRES_DB is passed to the container at startup time, this database will be named after the admin user (either postgres or the user specified with -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.
In order to run a basic container capable of serving a PostGIS-enabled database, start a container as follows:
docker run --name some-postgis -e POSTGRES_PASSWORD=mysecretpassword -d postgis/postgis
For more detailed instructions about how to start and control your Postgres container, see the documentation for the postgres image here.
Once you have started a database container, you can then connect to the database as follows:
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.
When You encouter errors due to PostGIS update OperationalError: could not access file "$libdir/postgis-X.X, run:
docker exec some-postgis update-postgis.sh
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
Content type
Image
Digest
Size
163.2 MB
Last updated
over 6 years ago
docker pull hcrit/postgis