GeoServer mapping container
500K+
GeoServer is an open source server for sharing geospatial data. It can publish data from most common spatial data sources using open standards. This docker image is built with a number of common plugins and fonts to help you get up and running quickly.
This image is available as a download on the docker hub, and can be used directly or as a starting point for your own image. Pull the image from the docker hub.
$ docker pull thinkwhere/geoserver
You can also download the source repository to build your own custom image.
$ git clone https://github.com/thinkwhere/GeoServer-docker.git
All images are based on official Tomcat images.
v2.15+:
< v2.15:
The following plugins are included with the GeoServer images
All images include basic fonts: DejaVu Sans, DejaVu Serif, Dialog, DialogInput, Monospaced
Additional fonts are built into newer image as follows:
If you wish to build this container with your own preferred options, download the docker build files from our github repository:
Git repository: https://github.com/thinkWhere/GeoServer-Docker
It is recommended that Geoserver is run with an external geoserver_data directory mapped as a docker volume allowing the configuration to be persisted or shared with other instances. To create a running container with an external volume do:
mkdir -p ~/geoserver_data
docker run \
--name=geoserver_8085 \
-p 8085:8080 \
-d \
-v $HOME/geoserver_data:/opt/geoserver/data_dir \
-e "GEOSERVER_LOG_LOCATION=/opt/geoserver/data_dir/logs/geoserver_8085.log" \
-t thinkwhere/geoserver
For installations with multiple containers on the same machine, map port 8080 to a different port for each instance. It is recommended that the instance name contains the mapped port no for ease of reference. Also use a separate log file for each instance as shown in the example above.
To set Tomcat properties such as maximum heap memory size, create a setenv.sh file such as:
JAVA_OPTS="$JAVA_OPTS -Xmx1024M"
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled"
Then pass the setenv.sh file as a volume at /usr/local/tomcat/bin/setenv.sh when running:
docker run -d
-v $HOME/tomcat/setenv.sh:/usr/local/tomcat/bin/setenv.sh
thinkwhere/geserver
Credits: Adapted from the container by Tim Sutton: kartoza/geoserver
2.19, 2.19.0 : GeoServer 2.19.0 (on tomcat:9.0-JRE11-slim)
2.18, 2.18.3, latest : GeoServer 2.18.3 (on tomcat:9.0-JRE11-slim) (also available: 2.18.0, 2.18.1, 2.18.2)
2.17, 2.17.5 : GeoServer 2.17.5 (on tomcat:9.0-JRE11-slim) (also available: 2.17.0,2.17.1,2.17.2,2.17.3,2.17.4)
2.16, 2.16.5 : GeoServer 2.16.5 (on tomcat:9.0-JRE11-slim) (also available: 2.16.0,2.16.1,2.16.2,2.16.3,2.16.4)
2.15, 2.15.4 : GeoServer 2.15.4 (on tomcat:9.0-JRE11-slim) (also available: 2.15.0-slim,2.15.1,2.15.2,2.15.3)
2.14,2.14.5 : GeoServer 2.14.5 (also available: 2.14.0,2.14.1,2.14.2,2.14.3,2.14.4)
2.13, 2.13.4 : GeoServer 2.13.4 (also available: 2.13.0, 2.13.1, 2.13.2, 2.13.3)
2.12, 2.12.5 : GeoServer 2.12.5 (also available: 2.12.4)
2.11, 2.11.5 : GeoServer 2.11.5
2.10, 2.10.4 : GeoServer 2.10.4
2.9, 2.9.4 : GeoServer 2.9.4
2.8, 2.8.5 : GeoServer 2.8.5
2.8-nogwc, 2.8.5-nogwc : GeoServer 2.8.5 with GeoWebCache disabled
Content type
Image
Digest
sha256:f5f10cee8…
Size
682.1 MB
Last updated
27 days ago
docker pull thinkwhere/geoserver:2.28.4-arm64