Design Goals#
compatible with Pangeo BinderHubs and JupyterHubs
compatible with Repo2Docker Python configuration files
reproducible build process and explicit conda package lists
small size, fast build
easy to customize
Everything stems from the Dockerfile
in the base-image
folder. The base-image
configures default settings for Conda and Dask with condarc.yml
and dask_config.yml
files. The base-image
is not meant to run on its own, it is the common foundation for -notebook
images that install Python packages including JupyerLab and lab extensions. Lists of Conda packages for each image are specified in an environment.yml
in each -notebook
folder, and compatible Dask and Jupyter packages are guaranteed by specifying the pangeo-notebook
conda metapackage.
You can pre-solve for compatible environments locally with conda-lock to convert the environment.yml
file to a conda-linux-64.lock file which is an explicit list of compatible packages solved by Conda. The major advantage of doing this is that if you rebuild at a later date the resulting Conda environment is identical, which improves reproducibility. For this reason, when building off of the base-image
, any existing conda-linux-64.lock
file takes precedence over the environment.yml
file.