Docker - TobiasSchmidtDE/DeepL-MedicalImaging GitHub Wiki
Docker Image
The docker image is a modified version of the tensorflow/tensorflow-latest-gpy-py3
image (tensorflow).
The image was modified in order to fix the CUDNN
(7.6.4.38-1) version according to the installed CUDA
version (10.1).
Running the docker container
-
Install Docker along with nvidia-docker
-
Change to the root directory of the
idp-radio-1
repository -
Build the image using the Dockerfile
docker build --tag idp-radio-1 .
Note: This step only has to be done once or if the dockerfile has changed. -
Start and run commands in the Docker container:
docker run -d -v $PWD:/srv/idp-radio-1 --name radio --gpus all idp-radio
-d
runs the container in detached mode-v
mounts the src folder into the docker container--name radio
sets the name of the container toradio
--gpus all
enables all GPUs- The working directory inside the container is
/srv/idp-radio-1
- To access Jupyter Lab/Notebook or Tensorboard you need to get the public url for the ngrok tunnel. The most comfortable way to get this is to look at the logs of the docker container using:
docker logs radio
There you will find an entry from where you can copy & paste the public url for the service you'd like to access. The entry is generated every 5 minutes and should look like this:
Retrieving open ngrok tunnels...
URLs open for the following services: [('jupyterlab', 'http://abcde12345.ngrok.io'), ('tensorboard', 'http://abcde12345.ngrok.io'), ('jupyternotebook', 'http://abcde12345.ngrok.io')]
- To start an interative bash to run commands in the container use:
docker exec -it radio /bin/bash
Known Issues
The -u
command does not bind the current user correctly, currently the container is started by a no name
-user. However since this non-existing user does not have any root privileges this does not cause any problems.