active development now happening here: https://github.com/pangeo-data/pangeo-docker-images
Currated Docker images for use with Jupyter and Pangeo
This repository contains a few currated Docker images that can be used with deployments of the Pangeo Helm Chart. Each of the images in this repository are configured and built using repo2docker and are continuously deployed to DockerHub. Importantly, each image built in this repo includes the minimum required libraries to do scalable computations with Pangeo (via dask-kubernetes).
Image | Description | Link | Badges |
---|---|---|---|
base-notebook | A bare-bones image with Jupyter and Dask. | DockerHub | |
pangeo-notebook | A complete image with lots of Python packages | DockerHub | |
pangeo-esip | An image customized for ESIP use | DockerHub |
You can customize the images here in comon ways by using the image variants
that have the -onbuild
suffix. If your Dockerfile inherits from an
-onbuild
Pangeo image, you automatically get the following features:
${REPO_DIR}
docker environment variable.If you have any of the following files in your repository, they are
used to automatically customize the image similar to what repo2docker
(used by mybinder.org) does:
a. requirements.txt
installs python packages with pip
b. environment.yml
installs conda
packages
c. apt.txt
lists ubuntu packages to be installed
d. postBuild
is a script (in any language) that is run automatically
after other customization steps for you to execute arbitrary code.
These files could also be inside a binder/
directory rather than
the top level of your repository if you would like.
For example, if you want to start from the base pangeo-notebook
image but
add the django
python package, you would do the following.
Create a Dockerfile
in your repo with just the following content:
FROM pangeo/pangeo-notebook-onbuild:<version>
Add a requirements.txt
file with the following contents
django
And that's it! Now you can build the image any way you wish (on a binder instance,
with repo2docker, or just with docker build
), and it'll do the customizations
for you automatically.
It is easy to add additional images. The basic steps involved are:
base-notebook
directory and name it something informative.binder
directory, adding any configuration you need according to the repo2docker documentation.The images in Pangeo-stacks are built and deployed continuously using TravisCI. Images are versioned using the CALVER system.
The images here can be built locally using repo2docker. The following example demonstrates how to build the base-notebook
image:
repo2docker --no-run --user-name=jovyan --user-id 1000 \
--image-name=pangeo/base-notebook ./base-notebook