All Projects → MrMino → dockernel

MrMino / dockernel

Licence: MIT license
Dockerized Jupyter kernels.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to dockernel

cognipy
In-memory Graph Database and Knowledge Graph with Natural Language Interface, compatible with Pandas
Stars: ✭ 31 (-8.82%)
Mutual labels:  jupyter
jupyter-django
Using Jupyter Notebook with Django: a presentation
Stars: ✭ 42 (+23.53%)
Mutual labels:  jupyter
Hacktoberfest
Hacktoberfest 2021 you can add anything like simple programs or projects
Stars: ✭ 15 (-55.88%)
Mutual labels:  jupyter
enhancement-proposals
Enhancement proposals for the Jupyter Ecosystem
Stars: ✭ 97 (+185.29%)
Mutual labels:  jupyter
python ml tutorial
A complete tutorial in python for Data Analysis and Machine Learning
Stars: ✭ 118 (+247.06%)
Mutual labels:  jupyter
biojupies
Automated generation of tailored bioinformatics Jupyter Notebooks via a user interface.
Stars: ✭ 96 (+182.35%)
Mutual labels:  jupyter
jupyterlab-sparkmonitor
JupyterLab extension that enables monitoring launched Apache Spark jobs from within a notebook
Stars: ✭ 78 (+129.41%)
Mutual labels:  jupyter
thegreatmarkdown
《了不起的 Markdown》
Stars: ✭ 44 (+29.41%)
Mutual labels:  jupyter
Hello-Kaggle-Guide-KOR
Kaggle을 처음 접하는 사람들을 위한 문서
Stars: ✭ 140 (+311.76%)
Mutual labels:  jupyter
Self-Driving-Car-Steering-Simulator
The aim of this project is to allow a self driving car to steer autonomously in a virtual environment.
Stars: ✭ 15 (-55.88%)
Mutual labels:  jupyter
flowtorch
flowTorch - a Python library for analysis and reduced-order modeling of fluid flows
Stars: ✭ 47 (+38.24%)
Mutual labels:  jupyter
MaixPy3
MaixPy for Linux Python3, let's play with edge AI easier!
Stars: ✭ 125 (+267.65%)
Mutual labels:  jupyter
ethereum-economic-model
A modular dynamical-systems model of Ethereum's validator economics
Stars: ✭ 79 (+132.35%)
Mutual labels:  jupyter
How-to-score-0.8134-in-Titanic-Kaggle-Challenge
Solution of the Titanic Kaggle competition
Stars: ✭ 114 (+235.29%)
Mutual labels:  jupyter
learn-js-in-jupyter
📙 Interactive, cross-platform JavaScript ES6 / Python 3,2 notebook powered by JupyterLab and Docker
Stars: ✭ 18 (-47.06%)
Mutual labels:  jupyter
ipychart
The power of Chart.js with Python
Stars: ✭ 48 (+41.18%)
Mutual labels:  jupyter
mlspace
MLSpace: Hassle-free machine learning & deep learning development
Stars: ✭ 286 (+741.18%)
Mutual labels:  jupyter
vim-jukit
Jupyter-Notebook inspired Neovim/Vim Plugin
Stars: ✭ 55 (+61.76%)
Mutual labels:  jupyter
p5-Devel-IPerl
🔬📚 Perl5 language kernel for Jupyter <http://jupyter.org/>
Stars: ✭ 75 (+120.59%)
Mutual labels:  jupyter
traceml
Engine for ML/Data tracking, visualization, dashboards, and model UI for Polyaxon.
Stars: ✭ 445 (+1208.82%)
Mutual labels:  jupyter

Dockernel

Makes it possible to utilize arbitrary docker images as Jupyter kernels.

Installation, prerequisites

You will need Docker (obviously). For detailed instructions on how to install it, see Get Docker page.

To install Dockernel, use Pip.

pip install dockernel

Make sure that the jupyter installation you wish to use with dockerized kernels is in the same environment as dockernel. Keep in mind, that kernels installed with Dockernel in one version may not necessarily work with a different one.

Usage

_Note for Linux users:

If you run into permission errors with docker or dockernel - either use sudo, or follow the steps outlined in Manage Docker as a non-root user guide._

Creating a Dockernel image

First, create a docker image that will host your kernel. This will require a proper dockerfile. A full example for IPython kernel can be seen here.

Most kernels take a path to a "connection file" (also called "control file" by some kernels) as a CLI argument. This file contains all of the information necessary to start up a kernel, including TCP ports to use, IP address, etc.

When running your container, Dockernel will supply this file and put it into a predefined path in the container. This path will be given via an environment variable visible in the container as $DOCKERNEL_CONNECTION_FILE.

Therefore, in order for the kernel to know the connection settings it should use, you need to pass the contents of this variable in CMD of the container. For example, for IPython kernel:

CMD python -m ipykernel_launcher -f $DOCKERNEL_CONNECTION_FILE

Or for the Rust kernel (Evcxr, see the example Rust dockerfile):

CMD evcxr_jupyter --control_file $DOCKERNEL_CONNECTION_FILE

To build your image, use docker build. E.g. to build the example mentioned above:

docker build --tag my_kernel - < example_dockerfile

Installing your image as a Jupyter Kernel

After that, use Dockernel to install the docker image as a Jupyter kernel:

dockernel install my_kernel --name dockerized_kernel

... and you should be ready to go! Fire up jupyter notebook and you should see dockerized_kernel under "New" menu, or in the "Notebook" section of the Launcher tab in jupyter lab.

Issues or questions?

Post a new issue in the Dockernell Issue Tracker at GitHub.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].