/binder-base

Yet another base image for Binder

Primary LanguageShellMIT LicenseMIT

Description

A notice

If you are unsure, please refer to the description on the last commit on the master branch.

What is this?

This is a Docker image that contains the basic elements needed for an image that could be used on Binder. Namely, Python 3 and Jupyter. The idea is to either make other base images based on this image that include additional elements (such as TeX dependencies or another language) or immediately use this image in your project, updating only what you need (e.g. environment and/or code).

You might ask, “And why not use repo2docker like normal people?”. Well, the point is that repo2docker builds an image from scratch every time you call it. Such builds can be particularly long if your project contains heavy dependencies (like TeX, for example). Say if you just added a new comment, you still have to wait about a dozen minutes, if not more, and so every time the code is updated.

With this image and subsequent add-ons you'll probably want to make, you can get a system of images for your project(s) and your taste.

Only Python 3 and Jupyter?

Well, a couple more packages you'll probably need. See below for a full list.

Content of the image
  • Base image: Ubuntu (21.04)
  • Essential packages:
    • apt-utils
    • apt-transport-https
    • dialog
    • htop
    • ca-certificates
    • git
    • nano
    • wget
    • curl
    • zip
    • unzip
    • sudo
    • ssh
    • software-properties-common
  • Non-root user set-up
  • Python:
    • python3-dev
    • python3-pip
  • Node.js and npm
  • Jupyter:

Okay, so how do I use it?

The image can easily be obtained from Docker Hub. In your Dockerfile just specify:

FROM paveloom/binder-base:tag

where the tag is one of the following:

Can I easily see what it looks like?

Yeah, just check this repository on Binder. For example, here's a link to the stable master branch.