dclong/jupyterlab @DockerHub | @GitHub

JupyterLab in Docker. It is recommended that you use the image dclong/jupyterhub-ds for data science related work and dclong/jupyterhub-ai for deep learning leveraging GPU. Note: Python packages are managed using pip instead of conda.

Prerequisite

You need to install Docker before you use this Docker image.

Usage in Linux/Unix

Please refer to the section Usage of the post My Docker Images for detailed instruction on how to use the Docker image.

The following command starts a container and mounts the current working directory and /home on the host machine to /workdir and /home_host in the container respectively.

docker run -d --init \
    --hostname jupyterlab \
    --log-opt max-size=50m \
    -p 8888:8888 \
    -e DOCKER_USER=$(id -un) \
    -e DOCKER_USER_ID=$(id -u) \
    -e DOCKER_PASSWORD=$(id -un) \
    -e DOCKER_GROUP_ID=$(id -g) \
    -v "$(pwd)":/workdir \
    -v "$(dirname $HOME)":/home_host \
    dclong/jupyterlab /scripts/sys/init.sh

Use the image with the next tag (which is the testing/next version of dclong/jupyterhub-ds).

docker run -d --init \
    --hostname jupyterlab \
    --log-opt max-size=50m \
    -p 8888:8888 \
    -e DOCKER_USER=$(id -un) \
    -e DOCKER_USER_ID=$(id -u) \
    -e DOCKER_PASSWORD=$(id -un) \
    -e DOCKER_GROUP_ID=$(id -g) \
    -v "$(pwd)":/workdir \
    -v "$(dirname $HOME)":/home_host \
    dclong/jupyterlab:next /scripts/sys/init.sh

The following command (only works on Linux) does the same as the above one except that it limits the use of CPU and memory.

docker run -d --init \
    --hostname jupyterlab \
    --log-opt max-size=50m \
    --memory=$(($(head -n 1 /proc/meminfo | awk '{print $2}') * 4 / 5))k \
    --cpus=$(($(nproc) - 1)) \
    -p 8888:8888 \
    -e DOCKER_USER=$(id -un) \
    -e DOCKER_USER_ID=$(id -u) \
    -e DOCKER_PASSWORD=$(id -un) \
    -e DOCKER_GROUP_ID=$(id -g) \
    -v "$(pwd)":/workdir \
    -v "$(dirname $HOME)":/home_host \
    dclong/jupyterlab /scripts/sys/init.sh

Use the image with the next tag (which is the testing/next version of dclong/jupyterhub-ds).

docker run -d --init \
    --hostname jupyterlab \
    --log-opt max-size=50m \
    --memory=$(($(head -n 1 /proc/meminfo | awk '{print $2}') * 4 / 5))k \
    --cpus=$(($(nproc) - 1)) \
    -p 8888:8888 \
    -e DOCKER_USER=$(id -un) \
    -e DOCKER_USER_ID=$(id -u) \
    -e DOCKER_PASSWORD=$(id -un) \
    -e DOCKER_GROUP_ID=$(id -g) \
    -v "$(pwd)":/workdir \
    -v "$(dirname $HOME)":/home_host \
    dclong/jupyterlab:next /scripts/sys/init.sh