Skip to content

Example of how to build an image from community built base images

License

Notifications You must be signed in to change notification settings

2i2c-org/example-inherit-from-community-image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Inherit from a community maintained image

This repo is an example of using repo2docker-action to build a user image for your JupyterHub inheriting from a community maintained image and adding some packages to it. In this case, we inherit from the jupyter/scipy-notebook image, and add the packages listed in environment.yml to it.

Features

  1. Inherits from a specific tagged version of the jupyter/scipy-notebook, whole image can be upgraded by changing the FROM tag in Dockerfile
  2. All modifications happen in environment.yml file, which is not container specific. Regular users can use this too.
  3. Users can test out their image interactively by making a PR, which will automatically create a comment with a link to mybinder.org, which will build the image exactly the same way our action does. This allows users to contribute packages and changes to this repo without needing docker installed locally. See example PR
  4. On making PRs, a GitHub action builds the image to make sure it can be built. This catches issues with syntax errors and missing versions.
  5. Tests inside the image-tests/ directory are also run on each PR, allowing for more fine-grained tests - either as pytest tests or as jupyter notebooks that must reproduce exactly. This helps catch issues with version upgrades breaking your instructional code. The tests are invoked as part of the jupyterhub/repo2docker action. See here for more details.
  6. When a PR is merged, the image is built and pushed to quay.io

About

Example of how to build an image from community built base images

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published