Sign inSign up

jorgecardona/datascience-mlops-kernels

By jorgecardona

Updated 6 days ago

Python Bash C++ Deno Elixir Go Java Node Julia Kotlin Matlab/Octave R Ruby Rust Scala SoS

Image
Languages & frameworks
Machine learning & AI
Data science
0

373

jorgecardona/datascience-mlops-kernels repository overview

dockerhub-datascience-mlops-kernels

Jorge Cardona



Available Kernels, Languages And Packages



Docker Image: Data Science & MLOps Multi-Language Kernels

This is a clean, optimized, and production-ready image based on Python 3.14.7. It includes a pre-configured JupyterLab server with native multi-language support (16 different kernels/languages) and an exhaustive set of mapped ports for advanced Data Science, MLOps, distributed processing, and streaming workflows.


🚀 Included Languages and Kernels

The image comes with runtimes and Jupyter integrations globally pre-configured:

  1. Python 3.14 (ipykernel): Display name updated to Python - ML - Data Science.
  2. Bash: Direct shell script execution within notebook cells.
  3. C++ 20: Compiled kernel via jupyter-cpp-kernel.
  4. Deno: Modern runtime for TypeScript / JavaScript execution.
  5. Elixir: Custom-built persistent native kernel (Elixir Native Kernel).
  6. Go: Integrated using gophernotes v0.7.5.
  7. Java (JDK 25): Configured via the IJava kernel v1.3.0.
  8. JavaScript (Node.js v20.19.2): Integrated using ijavascript.
  9. Julia (v1.13.0): Supported via IJulia.
  10. Kotlin: Native support using kotlin-jupyter-kernel.
  11. MATLAB / Octave: Integrated using octave_kernel v1.1.1 alongside pre-installed plotting utilities (gnuplot, ghostscript, etc.).
  12. R (v4.5.0): Base installation of R with IRkernel.
  13. Ruby (IRuby v0.8.3): Integrated via ZeroMQ/czmq.
  14. Rust (v1.98.1): Compiled kernel via evcxr_jupyter.
  15. Scala (v2.13.18): Managed and installed via Coursier using the Almond kernel v0.14.5.
  16. SoS (Script of Scripts): Unified multi-language support (SoS - Multi-language Notebook).

⚡ Key Features

  • Environment Consistency: Explicit version pinning across most runtimes (Java 25, Scala 2.13.18, Node v20, Rust 1.98.1, Julia 1.13, R 4.5) to prevent build breakages during future compilations.
  • Persistent Elixir Execution: Custom wrapper that retains evaluation bindings between cells within the same session.
  • Git Integration: Pre-installed and enabled jupyterlab-git extension in the web interface.
  • Clean Interface: The classic console extension (@jupyterlab/console-extension) is disabled for a streamlined notebook-first environment.
  • Custom Logos & Display Names: All kernels are renamed and formatted for easy identification within the JupyterLab Launcher.
  • Default Working Directory: Automatically starts inside the /notebooks directory.
  • Zero-Touch Startup: Launches JupyterLab listening on 0.0.0.0:8888 without token authentication (--LabApp.token='') for quick access in controlled environments.

🔌 Port Mapping & Services

The container exposes key ports tailored for MLOps and distributed tools:

PortDefault Service
8888JupyterLab UI
4040Apache Spark Application UI
5006Bokeh / Panel Dashboard Server
3000Grafana / React / Web Apps
8081 - 8083Airflow Webserver / MLflow / Flink UI
9091 - 9094Metrics, Prometheus, Kafka, Ray Cluster Ports

🛠️ Quickstart Commands

1. Build the image
docker build --tag jorgecardona/datascience-mlops-kernels:latest .

2. Push to Docker Hub
docker push jorgecardona/datascience-mlops-kernels:latest

3. Run the container
docker run -d \
  --name mlops-kernels \
  -p 8888:8888 \
  -p 4040:4040 \
  -p 5006:5006 \
  -p 3000:3000 \
  -p 8081:8081 \
  -p 8082:8082 \
  -p 8083:8083 \
  -p 9091:9091 \
  -p 9092:9092 \
  -p 9093:9093 \
  -p 9094:9094 \
  --restart always \
  jorgecardona/datascience-mlops-kernels:latest

Tag summary

Content type

Image

Digest

sha256:0488a81ce

Size

2.2 GB

Last updated

6 days ago

docker pull jorgecardona/datascience-mlops-kernels