Today’s post is mostly notes-to-self about using Docker. These steps were tested on a fresh Ubuntu 17.04 install.

Install Docker as described in “Install using the repository” section.

Then add the current user to the docker user group (otherwise, all docker commands have to be prefixed with sudo)

$ sudo gpasswd -a $USER docker
$ newgrp docker

Test run the hello world image

$ docker run hello-world

For some more Docker basics, see

Pull Geodocker images, for example from

$ docker pull
$ docker pull

Get a list of pulled images

$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE latest c60753e05956 8 months ago 904MB latest 293209905a47 8 months ago 646MB

Test run

$ docker run -it --rm java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)


$ docker run --name geoserver -e AUTHOR="Anita" \
 -d -P

The important options are:

-d … Run container in background and print container ID

-P … Publish all exposed ports to random ports

Check if the image is running

$ docker ps
684598b57868 "/opt/tomcat/bin/c..." 
2 hours ago Up 2 hours>9090/tcp geoserver

You can also check which ports to access using

$ docker port geoserver
9090/tcp ->

Geoserver should now run on http://localhost:32772/geoserver/ (user=admin, password=geoserver)

For more tests, let’s connect to Geoserver from QGIS

All default example layers are listed

and can be loaded into QGIS