The source project of this merge request has been removed.
Added introduction file for binder
Compare changes
+ 40
− 0
Using Jupyter-JSC allows to do great work using Jupyter. A big advantage of Jupyter is that you can easily share your notebooks. These notebooks allow you to add images and descriptions to your code and format it attractively. Since the access to the computers of the JSCs is only allowed with an account, the sharing of your results in form of a Jupyter notebook becomes more difficult. A possible alternative is Binder. Binder provides a platform that allows to build an environment where you can make your own notebook accessible for everyone via a simple link.
For this you need your own repository (e.g.: GitHub), with the notebook and dependencies. You can specify the dependencies either as requirements.txt or environment.yml. On https://mybinder.org/ you can create a link that builds a Docker image from this repository and executes it for each user in its original form. Binder will always use the latest commit in your choosen branch and rebuild the image in case there is a newer commit. In case of more complicated dependencies it is also possible to have a docker file in your repository. This is then built by Binder. This image must meet certain requirements (https://mybinder.readthedocs.io/en/latest/tutorials/dockerfile.html) to work with binder (e.g.: start of jupyter, with certain options). Fortunately, there are docker images that you can use as a basis for your own work where this is already set up correctly (e.g.: https://hub.docker.com/r/jupyter/minimal-notebook). Binder will build the docker image using the file Dockerfile in the root directory of your repository, a simple one could look like this:
Because Bidner is free, there are restrictions. The most important limitation is that of memory, each running instance is only entitled to one GB. This limit is not fixed, with available resources of up to 2 GB may be used. But if the resources are not enough or the 2 GB limit is exceeded, Binder quits the kernel of the notebook.
There may also be limitations when building the docker image. Especially if it is a large image with long build times. These limitations can be avoided by building the docker image locally on your computer and then storing it on dockerhub. After that you write a relatively short docker file in the repository connected to binder: