Dockerized GeoServer.
- Built on top of Docker's official tomcat image.
- Taken care of JVM Options, to avoid PermGen space issues &c.
- Separate GEOSERVER_DATA_DIR location (on /var/local/geoserver).
- CORS ready.
- Up to GeoServer 2.14.x: Automatic installation of Native JAI and Image IO for better performance.
- From GeoServer 2.15.x: OpenJDK 11.
- Configurable extensions.
- Automatic installation of Microsoft Core Fonts for better labelling compatibility.
- AWS configuration files and scripts in order to deploy easily using Elastic Beanstalk. See github repo. Thanks to @victorzinho
Latest versions with automated builds available on docker registry:
Other experimental (not automated build):
-
oracle
. Uses wnameless/oracle-xe-11g, needs ojdbc7.jar and setting up a database. See the run commands. -
h2-vector
. Plays nice with oscarfonts/h2:geodb, and includes sample scripts for docker-compose and systemd.
Get the image:
docker pull oscarfonts/geoserver
Run as a service, exposing port 8080 and using a hosted GEOSERVER_DATA_DIR:
docker run -d -p 8080:8080 -v /path/to/local/data_dir:/var/local/geoserver --name=MyGeoServerInstance oscarfonts/geoserver
To add extensions to your GeoServer installation, provide a directory with the unzipped extensions separated by directories (one directory per extension):
docker run -d -p 8080:8080 -v /path/to/local/exts_dir:/var/local/geoserver-exts/ --name=MyGeoServerInstance oscarfonts/geoserver
You can use the build_exts_dir.sh
script together with a extensions configuration file to create your own extensions directory easily.
Warning: The
.jar
files contained in the extensions directory will be copied to theWEB-INF/lib
directory of the GeoServer installation. Make sure to include only.jar
files from trusted extensions to avoid security risks.
It is also possible to configure the context path by providing a Catalina configuration directory:
docker run -d -p 8080:8080 -v /path/to/local/data_dir:/var/local/geoserver -v /path/to/local/conf_dir:/usr/local/tomcat/conf/Catalina/localhost --name=MyGeoServerInstance oscarfonts/geoserver
See some examples.
See the tomcat logs while running:
docker logs -f MyGeoServerInstance