Here we provide a few Docker images for running Dask on Alpine Linux. These are designed to be as small as possible while still providing a good user experience.
Three images are provided:
-
A base image with miniconda installed.
-
An image for running both the dask schedulers and workers.
-
An image with all of the above, as well as Jupyter Notebook and JupyterLab installed.
These images can be used as is, or extended with additional packages by using them as a base image:
FROM jcrist/alpine-dask:1.2.2
# Add scikit-learn and numba, and cleanup afterwards
RUN /opt/conda/bin/conda install --freeze-installed -y \
scikit-learn \
numba \
&& /opt/conda/bin/conda clean -afy \
&& find /opt/conda/ -follow -type f -name '*.a' -delete \
&& find /opt/conda/ -follow -type f -name '*.pyc' -delete
Alternatively, additional packages can be installed at runtime via the
EXTRA_CONDA_PACKAGES
/EXTRA_PIP_PACKAGES
environment variables:
$ docker run -e "EXTRA_CONDA_PACKAGES=scikit-learn numba" jcrist/alpine-dask dask-scheduler
These images should be drop-in usable with the existing Dask Helm Chart, with the benefit of being much smaller images.