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.
You need to install Docker before you use this Docker image.
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