iot-salzburg / gpu-jupyter

GPU-Jupyter: Leverage the flexibility of Jupyterlab through the power of your NVIDIA GPU to run your code from Tensorflow and Pytorch in collaborative notebooks on the GPU.
Apache License 2.0
708 stars 235 forks source link

Additional packages result into helm upgrade timeout #61

Closed pedropgusmao closed 3 years ago

pedropgusmao commented 3 years ago

Hello, This is a great Docker image, thanks for releasing it.
Unfortunately, I'm having issues extending the your cuda11, ubuntu 18 Python only image. If I add the following apt packages unzip and zip and the pip packages jupyter-server-proxy, jupyter-archive, prettytable, and upgrade pip and tensorboard I end up with a 7GB image that results in timeout when using helm upgrade. Am I doing something wrong? Here is the Dockerfile.usefulpackages :

LABEL authors="Christoph Schranz <christoph.schranz@salzburgresearch.at>, Mathematical Michael <consistentbayes@gmail.com>"

USER root

RUN pip install --no-cache-dir ipyleaflet "plotly>=4.14.3" "ipywidgets>=7.5"

# Install important packages and Graphviz
RUN set -ex \
 && buildDeps=' \
    graphviz==0.11 \
' \
 && apt-get update \
 && apt-get -y install \
    htop \
    apt-utils \
    iputils-ping \
    graphviz \
    libgraphviz-dev \
    openssh-client \
    zip \
    unzip \
 && pip install --no-cache-dir $buildDeps 

# Install various extensions
RUN fix-permissions $CONDA_DIR

# RUN jupyter labextension install @jupyterlab/github
# RUN pip install jupyterlab-git
RUN pip install jupyterlab-drawio
RUN jupyter nbextension enable --py --sys-prefix ipyleaflet
RUN jupyter labextension install jupyterlab-plotly
RUN jupyter labextension install @jupyter-widgets/jupyterlab-manager plotlywidget
# RUN pip install --no-cache-dir jupyter-tabnine  --user && \
#   jupyter nbextension install --py jupyter_tabnine --user && \
#   jupyter nbextension enable --py jupyter_tabnine --user && \
#   jupyter serverextension enable --py jupyter_tabnine --user
RUN pip install --no-cache-dir jupyter_contrib_nbextensions \
  jupyter_nbextensions_configurator rise
#  jupyter nbextension enable codefolding/main

RUN jupyter labextension install @ijmbarr/jupyterlab_spellchecker
RUN pip install --no-cache-dir --upgrade pip
RUN pip install --no-cache-dir prettytable
RUN pip install --no-cache-dir jupyter-server-proxy
RUN pip install --no-cache-dir --upgrade tensorboard
RUN pip install --no-cache-dir jupyter-archive

RUN fix-permissions /home/$NB_USER

# Switch back to jovyan to avoid accidental container runs as root
USER $NB_UID
ChristophSchranz commented 3 years ago

Hi @pedropgusmao The full image cschranz/gpu-jupyter:v1.4_cuda-11.0_ubuntu-18.04 has indeed a size of about 6.25 GB. It involves three languages and a lot of heavy packages. You could use a reduced images as base image, like cschranz/gpu-jupyter:v1.4_cuda-11.0_ubuntu-18.04_slim or cschranz/gpu-jupyter:v1.4_cuda-11.0_ubuntu-18.04_python_only.

Or check Dockerhub for more tags.