Skip to content

Running wradlib docker on linux

Kai Mühlbauer edited this page Jun 24, 2020 · 4 revisions

Preparation

See to have docker daemon installed and running.

X.Y.Z below refers to the wanted wradlib version. See https://hub.docker.com/r/wradlib/wradlib-docker/tags for available images.

Running minimal wradlib container (no X11)

  • The container can be started directly into a bash shell:
$ docker run -ti --name wradlib_min wradlib/wradlib-docker:X.Y.Z-min /bin/bash
  • The container can be started in the background:
$ docker run -d -ti --name wradlib_min wradlib/wradlib-docker:X.Y.Z-min /bin/bash
  • You can execute the named container:
$ docker exec -ti wradlib_min /bin/bash

Running minimal wradlib container (X11 forwarding)

  • Setup X11
$ XSOCK=/tmp/.X11-unix/
$ XAUTH=/tmp/.docker.xauth
$ touch $XAUTH
$ xauth nlist $DISPLAY | sed -e 's/^..../ffff/' | xauth -f $XAUTH nmerge -
$ GID=`id -u $USER`
  • Starting the docker container
$ docker run -ti --name wradlib_min_x11 -e LOCAL_GROUP_ID=$GID -e LOCAL_USER_ID=$UID -e LOCAL_USER_NAME=$USER -v $XSOCK:$XSOCK:rw -v $XAUTH:$XAUTH:rw -e XAUTHORITY=${XAUTH} -e DISPLAY wradlib/wradlib-docker:X.Y.Z-min /bin/bash

Running notebook server in wradlib container

with mounted wradlib-notebooks and wradlib-data

  • The notebook server container can be started directly:
$ docker run -ti --name wradlib_nb -p 8888:8888 -v /host/patho/to/wradlib-notebooks:/home/notebooks -v /host/patho/to/wradlib-data:/home/wradlib-data -e LOCAL_USER_ID=$UID -e WRADLIB_DATA=/home/wradlib-data wradlib/wradlib-docker:X.Y.Z-full /opt/conda/envs/wradlib/bin/jupyter notebook --notebook-dir=/home/notebooks --ip='*' --port=8888
  • The container can be started in the background:
$ docker run -d -ti --name wradlib_nb -p 8888:8888 -v /host/patho/to/wradlib-notebooks:/home/notebooks -v /host/patho/to/wradlib-data:/home/wradlib-data -e LOCAL_USER_ID=$UID -e WRADLIB_DATA=/home/wradlib-data wradlib/wradlib-docker:X.Y.Z-full /bin/bash
  • The notebook server can be started from the running container:
$ docker exec -i -u=$UID wradlib_nb /opt/conda/envs/wradlib/bin/jupyter notebook --notebook-dir=/home/notebooks --ip='*' --port=8888