Skip to content

Commit f2a31cf

Browse files
committed
Refactor dockerfile
1 parent 6c8880b commit f2a31cf

File tree

1 file changed

+20
-24
lines changed

1 file changed

+20
-24
lines changed

Dockerfile

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ RUN \
111111
sqlite3 \
112112
# XML Utils
113113
xmlstarlet \
114+
# GNU parallel
115+
parallel \
114116
# R*-tree implementation - Required for earthpy, geoviews (3MB)
115117
libspatialindex-dev \
116118
# Search text and binary files
@@ -135,6 +137,8 @@ RUN \
135137
bash-completion \
136138
# ping support
137139
iputils-ping \
140+
# Map remote ports to localhosM
141+
socat \
138142
# Json Processor
139143
jq \
140144
rsync \
@@ -180,6 +184,11 @@ RUN \
180184
libbz2-dev \
181185
liblzma-dev \
182186
zlib1g-dev && \
187+
# Update git to newest version
188+
add-apt-repository -y ppa:git-core/ppa && \
189+
apt-get update && \
190+
apt-get install -y --no-install-recommends git && \
191+
# Fix all execution permissions
183192
chmod -R a+rwx /usr/local/bin/ && \
184193
# configure dynamic linker run-time bindings
185194
ldconfig && \
@@ -274,6 +283,8 @@ RUN wget --no-verbose https://repo.anaconda.com/miniconda/Miniconda3-py38_${COND
274283
$CONDA_ROOT/bin/conda config --system --set auto_update_conda False && \
275284
$CONDA_ROOT/bin/conda config --system --set show_channel_urls True && \
276285
$CONDA_ROOT/bin/conda config --system --set channel_priority strict && \
286+
# Deactivate pip interoperability (currently default), otherwise conda tries to uninstall pip packages
287+
$CONDA_ROOT/bin/conda config --system --set pip_interop_enabled false && \
277288
# Update conda
278289
$CONDA_ROOT/bin/conda update -y -n base -c defaults conda && \
279290
$CONDA_ROOT/bin/conda update -y setuptools && \
@@ -574,7 +585,7 @@ RUN \
574585
conda install -y --update-all 'python='$PYTHON_VERSION nomkl ; \
575586
else \
576587
# Install mkl for faster computations
577-
conda install -y --update-all 'python='$PYTHON_VERSION mkl ; \
588+
conda install -y --update-all 'python='$PYTHON_VERSION mkl-service mkl ; \
578589
fi && \
579590
# Install some basics - required to run container
580591
conda install -y --update-all \
@@ -626,12 +637,16 @@ RUN \
626637
# pandoc -> installs libluajit -> problem for openresty
627638
# HDF5 (19MB)
628639
apt-get install -y --no-install-recommends libhdf5-dev && \
640+
# TBB threading optimization
641+
apt-get install -y --no-install-recommends libtbb-dev && \
629642
# required for tesseract: 11MB - tesseract-ocr-dev?
630643
apt-get install -y --no-install-recommends libtesseract-dev && \
631644
pip install --no-cache-dir tesserocr && \
632645
# Required for tensorflow graphics (9MB)
633646
apt-get install -y --no-install-recommends libopenexr-dev && \
634647
pip install --no-cache-dir tensorflow-graphics==2020.5.20 && \
648+
# GCC OpenMP (GOMP) support library
649+
apt-get install -y --no-install-recommends libgomp1 && \
635650
# Install libjpeg turbo for speedup in image processing
636651
#TODO conda install -y 'python='$PYTHON_VERSION libjpeg-turbo && \
637652
# Faiss - A library for efficient similarity search and clustering of dense vectors.
@@ -690,8 +705,8 @@ RUN \
690705
jupyter nbextension enable collapsible_headings/main --sys-prefix && \
691706
jupyter nbextension enable codefolding/main --sys-prefix && \
692707
# TODO: tensorboard support is not working right now: Activate Jupyter Tensorboard
693-
#pip install --no-cache-dir git+https://github.com/rhangelxs/jupyter_tensorboard.git && \
694-
# jupyter tensorboard enable --sys-prefix && \
708+
pip install --no-cache-dir git+https://github.com/rhangelxs/jupyter_tensorboard.git && \
709+
jupyter tensorboard enable --sys-prefix && \
695710
# TODO moved to configuration files = resources/jupyter/nbconfig Edit notebook config
696711
# echo '{"nbext_hide_incompat": false}' > $HOME/.jupyter/nbconfig/common.json && \
697712
cat $HOME/.jupyter/nbconfig/notebook.json | jq '.toc2={"moveMenuLeft": false,"widenNotebook": false,"skip_h1_title": false,"sideBar": true,"number_sections": false,"collapse_to_match_collapsible_headings": true}' > tmp.$$.json && mv tmp.$$.json $HOME/.jupyter/nbconfig/notebook.json && \
@@ -764,7 +779,7 @@ RUN \
764779
exit 0 ; \
765780
fi && \
766781
# Install jupyterlab language server support
767-
pip install --pre jupyter-lsp && \
782+
pip install jupyter-lsp && \
768783
$lab_ext_install @krassowski/jupyterlab-lsp && \
769784
# For Plotly
770785
$lab_ext_install jupyterlab-plotly && \
@@ -858,7 +873,7 @@ RUN \
858873
rm prettier-vscode-$PRETTIER_VERSION.vsix && \
859874
mv extension $HOME/.vscode/extensions/prettier-vscode-$PRETTIER_VERSION.vsix && \
860875
# Install vs code jupyter
861-
VS_JUPYTER_VERSION="2020.11.392013122" && \
876+
VS_JUPYTER_VERSION="2020.11.399280825" && \
862877
wget --retry-on-http-error=429 --waitretry 15 --tries 5 --no-verbose https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-toolsai/vsextensions/jupyter/$VS_JUPYTER_VERSION/vspackage -O ms-toolsai.jupyter-$VS_JUPYTER_VERSION.vsix && \
863878
bsdtar -xf ms-toolsai.jupyter-$VS_JUPYTER_VERSION.vsix extension && \
864879
rm ms-toolsai.jupyter-$VS_JUPYTER_VERSION.vsix && \
@@ -891,30 +906,11 @@ RUN \
891906
### INCUBATION ZONE ###
892907

893908
RUN \
894-
# Deactivate pip interoperability: makes problems with lots of package
895-
conda config --system --set pip_interop_enabled false && \
896909
# Strict channel priority currently makes problems with installing with conda
897910
conda config --system --set channel_priority false && \
898911
apt-get update && \
899912
# TODO: lib contains high vulnerability
900913
# apt-get install -y --no-install-recommends libffi-dev \
901-
# Install socat to map remote ports to localhost
902-
apt-get install -y --no-install-recommends socat && \
903-
# GCC OpenMP (GOMP) support library
904-
apt-get install -y --no-install-recommends libgomp1 && \
905-
# Install GNU parallel
906-
apt-get install -y --no-install-recommends parallel && \
907-
# Update git to newest version
908-
add-apt-repository -y ppa:git-core/ppa && \
909-
apt-get update && \
910-
apt-get install -y --no-install-recommends git && \
911-
# Install mkl service
912-
conda install -y mkl-service && \
913-
# TBB threading optimization
914-
apt-get install -y --no-install-recommends libtbb-dev && \
915-
# Newer jedi makes trouble with jupyterlab-lsp
916-
# ! Not moved to prevent autoupdate
917-
# pip install --no-cache-dir jedi==0.15.2 && \
918914
# Required by magenta
919915
# apt-get install -y libasound2-dev && \
920916
# apt-get install -y xfce4-clipman && \

0 commit comments

Comments
 (0)