JMap and Docker

Docker and application containers have revolutionized the way IT systems are deployed, both in the Cloud and within the private infrastructures of organizations. This technology is an important part of DevOps processes. With Docker, application deployment is easier and faster than ever, plus it’s entirely automated.

One of the main differences between a container and a virtual machine (VM) is that a container doesn’t contain the operating system. This means that containers are much lighter and can be deployed faster. The diagram below clearly illustrates this difference (source:


With JMap 7 Jakarta, JMap Server can be deployed in Docker containers. We have adapted JMap to make it compatible with Docker. In addition, we published a Docker image for JMap Server on the DockerHub site, This is the image you can use to create your JMap container.

Once Docker Engine is installed and running on your computer or server, you can obtain the Docker image for JMap Server using the following command at the command line:

docker pull k2geospatial/jmap

Before running JMap Server in a Docker container, you must set up two file storage areas on the computer or server where the container will be launched. In Docker jargon, these storage areas are called volumes. Your two volumes will be used to store JMap Server’s system files as well as the source spatial data files.

To create and launch your own JMap container, you must use the docker run command, as shown in the following example:

docker run -e TZ=America/New_York -it -e LOCAL_USER_ID=`id -u $USER` -e VM_OPTIONS_XMX=4g -p 8080:8080 -p 7003:7003 -d –v /home/jmapserver/systemconfig:/opt/jmap/systemconfig -v /home/jmapserver/data:/opt/jmapdata --name jmapserver k2geospatial/jmap:7_Jakarta_latest

As always, you must obtain a license file before you can run JMap Server. This file must be located in the volume containing your system files.


For more information on how to use JMap with Docker, read the following article:

To learn the basics of working with Docker, check out this great tutorial created by Docker:

Jean-Robert Desbiens-Haddad

Back to Technical Blog