Link Search Menu Expand Document

Supported Environments

The following environments are recommended for interactive content:

Hide Deprecated
Image ID Base Version Notes
ubuntu-24.04:10

24.04

Base Ubuntu 24.04 image

  • sysbox-ubuntu-24.04:1 – Alias

This is faster and uses fewer resources compared to our 22.04 environment. Uses Sysbox for isolation instead of KVM.

ubuntu:22.04

22.04

Base Ubuntu 22.04 image

*Deprecated*

Use ubuntu-24.04:10 instead

  • docker:latest – Alias
  • ubuntu-2node:22.04 – Two node environment
  • ubuntu:22.04-4gb – Increased memory limit

ubuntu2204-base-image-v1:latest

22.04

Fast loading, does not support Docker

  • ubuntu:latest – Alias

Fast starting environment without docker support

ubuntu:2004

20.04

Base Ubuntu 20.04 image

*Deprecated*

Use ubuntu-24.04:10 instead

  • ubuntu:2004-4gb – Increased memory limit
  • ubuntu:2004-8gb – Increased memory limit

ubuntu:1904

19.04

Base Ubuntu 19.04 image

*Deprecated*

Use ubuntu-24.04:10 instead

ubuntu:1804

18.04

Base Ubuntu 18.04 image

*Deprecated*

Use ubuntu-24.04:10 instead

  • ubuntu:1804-4gb – Increased memory limit
  • ubuntu:1804-8gb – Increased memory limit

ubuntu:1604

16.04

Base Ubuntu 16.04 image

*Deprecated*

Use ubuntu-24.04:10 instead

  • dind1604-direct – unknown

ubuntu-base-image-v1

unknown

Base Ubuntu image

*Deprecated*

Use ubuntu-24.04:10 instead

ansible-2node:2.13

20.04

Ansible 2.13 w/two hosts

bash:5.1

22.04

Bash 5.1 focused image

bash1804

18.04

Bash

*Deprecated*

Use bash:5.1 instead

beam:2.19

unknown

Beam 2.19

cplusplus:13.1

22.04

C++ v.13.1 a high-level, general-purpose programming language

ubuntu-24.04-docker-26:1

24.04

Docker focused image

docker

20.04

Docker focused image

*Deprecated*

Use ubuntu-24.04-docker-26:1 instead

dind

unknown

Docker in Docker focused image

  • dind-direct – unknown

ubuntu-24.04-dotnet-8:1

24.04

.Net version 8

dotnet:7.0

22.04

.Net version 7

ubuntu-24.04-dotnet-6:1

24.04

.Net version 6

dotnet:6.0

22.04

.Net version 6

*Deprecated*

Use ubuntu-24.04-dotnet-6:1 instead

mono:6.12.0

unknown

Mono 6.12

ubuntu-24.04-dotnet-3:1

24.04

.Net version 3

ubuntu-24.04-csharp-10:1

24.04

C# / csharp v10

ubuntu-24.04-git-2.43:1

24.04

Git focused image

git:latest

22.04

Git

*Deprecated*

Use ubuntu-24.04-git-2.43:1 instead

ubuntu-24.04-go-1.22:1

24.04

Go / golang 1.22

golang:1.25.1ubuntu

22.04

Go / golang 1.25

golang:1.16

unknown

Go / golang 1.16

*Deprecated*

Use ubuntu-24.04-go-1.22:1 instead

golang:1.14

unknown

Go / golang 1.14

*Deprecated*

Use ubuntu-24.04-go-1.22:1 instead

ubuntu-24.04-openjdk-21:1

24.04

Java / OpenJDK 21

java:latest

20.04

Java / OpenJDK 21

*Deprecated*

Use ubuntu-24.04-openjdk-21:1 instead

ubuntu-24.04-openjdk-17:1

24.04

Java / OpenJDK 17

*Deprecated*

Use ubuntu-24.04-openjdk-21:1 instead

java:17

unknown

Java 17

*Deprecated*

Use ubuntu-24.04-openjdk-21:1 instead

openjdk:16

unknown

Java / OpenJDK 16

*Deprecated*

Use ubuntu-24.04-openjdk-21:1 instead

openjdk:15

unknown

Java / OpenJDK 15 w/Scala

*Deprecated*

Use ubuntu-24.04-openjdk-21:1 instead

openjdk:11

unknown

Java / OpenJDK 11

*Deprecated*

Use ubuntu-24.04-openjdk-21:1 instead

springboot:3.0

20.04

A java 19 environment with Spring Boot 3.0 demo project in /root/demo

springboot:2.7

unknown

A java environment with Spring Boot 2.7 demo project in /root/demo

*Deprecated*

Use springboot:3.0 instead

jenkins:latest

unknown

Jenkins

kafka:3.2

unknown

Kafka 3.2

kotlin:latest

20.04

Kotlin 1.7

kotlin:1.3.61

unknown

Kotlin 1.3

*Deprecated*

Use kotlin:latest instead

kubernetes:1.30

24.04

Kubernetes 1.30

  • kubernetes-nostart:1.30 – does not automatically start kubernetes

kubernetes:1.29

24.04

Kubernetes 1.29

*Deprecated*

Use kubernetes:1.30 instead

  • kubernetes:1.29-44 – pinned stable version
  • kubernetes-nostart:1.29 – does not automatically start kubernetes

kubernetes:1.28.2

22.04

Kubernetes 1.28

*Deprecated*

Use kubernetes:1.30 instead

  • kubernetes-running:1.28.2 – auto-starts kubernetes

The cluster might still be starting when the user is connected. To provide the user with feedback, we recommend that you automatically run a script called launch.py when the user connects by calling it inside of your foreground.sh or background.sh file(s). This can be done automatically via a Foreground Script.

Without running launch.py, users will see the following error when they attempt to access Kubernetes before it has started: The connection to the server localhost:8080 was refused - did you specify the right host or port?

If you are planning to use the kubectl port-forward functionality within your scenario then please be aware that by default this only accepts connections from 127.0.0.1 and as such the Katacoda Proxy won’t be able to access the port., please ensure that the command binds to 0.0.0.0 using kubectl port-forward --address 0.0.0.0.

kubernetes-cluster:1.28

unknown

Kubernetes 1.28

*Deprecated*

Use kubernetes:1.30 instead

kubernetes-cluster:1.26

unknown

Kubernetes 1.26

*Deprecated*

Use kubernetes:1.30 instead

  • kubernetes-running:1.26 – auto-starts kubernetes
  • kubernetes-cluster-running:1.26 – auto-starts kubernetes

kubernetes-cluster:1.24

unknown

Kubernetes 1.24

*Deprecated*

Use kubernetes:1.30 instead

  • kubernetes-running:1.24 – auto-starts kubernetes

kubernetes-cluster:1.23

unknown

Kubernetes 1.23

*Deprecated*

Use kubernetes:1.30 instead

  • kubernetes-cluster-running:1.23 – auto-starts kubernetes

kubernetes-cluster:1.20

unknown

Kubernetes 1.20

*Deprecated*

Use kubernetes:1.30 instead

  • kubernetes-cluster-running:1.20 – auto-starts kubernetes

kubernetes-cluster:1.18

unknown

Kubernetes 1.18

*Deprecated*

Use kubernetes:1.30 instead

  • kubernetes-cluster-running:1.18 – auto-starts kubernetes

kubernetes-cluster:1.14

unknown

Kubernetes 1.14

*Deprecated*

Use kubernetes:1.30 instead

kubernetes-cluster

unknown

Kubernetes

*Deprecated*

Use kubernetes:1.30 instead

ubuntu-24.04-llama-1.1b:1

24.04

Llama 1.1b

minikube

unknown

Minikube

mlflow:1.7.2

unknown

mlflow 1.7.2

ubuntu-24.04-mysql-8:1

24.04

MySQL 8 focused image

mysql:8.0

unknown

MySQL 8

*Deprecated*

Use ubuntu-24.04-mysql-8:1 instead

ubuntu-24.04-nodejs-20:1

24.04

Node.js 20 focused image

nodejs:18

22.04

Node.js 18 focused image

*Deprecated*

Use ubuntu-24.04-nodejs-20:1 instead

nodejs:12

unknown

Node.js 12 focused image

*Deprecated*

Use ubuntu-24.04-nodejs-20:1 instead

react:18

unknown

React 18

ubuntu-24.04-postgresql-16:1

24.04

Postgresql 16 focused image

powershell:latest

unknown

Powershell 7.1.3

pulsar-running:2.5

unknown

Pulsar 2.5

python:3.12

unknown

Python 3.12

python:3.11

22.04

Python 3.11.3

python:3.8

unknown

Python 3.8

*Deprecated*

Use python:3.11 instead

python:3.7

unknown

Python 3.7

*Deprecated*

Use python:3.11 instead

python:3.6

unknown

Python 3.6

*Deprecated*

Use python:3.11 instead

ubuntu-24.04-miniconda-24.4:1

24.04

Python Miniconda 24.4

ubuntu-24.04-miniconda-23.1:1

24.04

Python Miniconda 23.1

*Deprecated*

Use ubuntu-24.04-miniconda-24.4:1 instead

ubuntu-24.04-miniconda-4.5:1

24.04

Python Miniconda 4.5

*Deprecated*

Use ubuntu-24.04-miniconda-24.4:1 instead

I’m pretty sure the version number is a typo.

anaconda:2022.10

20.04

This is a full anaconda (2022.10) install, including Python, PyTorch, NLTK, numpy, and scikit-learn. We recommend that Python ML labs use this environment to make startup/setup simpler and faster.

  • pytorch:latest – Alias

tensorflow:latest

unknown

Tensorflow 2.10 (tensorflow-lite)

tensor-flow-lite:2.1

unknown

Tensorflow 2.1 (tensorflow-lite)

*Deprecated*

Use tensorflow:latest instead

django:5.0

unknown

Django 5.0 focused image

django:3.0

22.04

Django focused image

ubuntu-24.04-r-4.4:1

24.04

R / rlang 4.4

rlang:3.6.3

22.04

R / rlang 3.6

*Deprecated*

Use ubuntu-24.04-r-4.4:1 instead

rlang:3.4

unknown

R / rlang 3.4

*Deprecated*

Use ubuntu-24.04-r-4.4:1 instead

rlang

unknown

R / rlang

*Deprecated*

Use ubuntu-24.04-r-4.4:1 instead

ruby:3.2

22.04

Ruby 3.2

rails:7.1

unknown

Ruby on Rails 7.1

ubuntu-24.04-rust:1

24.04

Rust focused image

rust:1.75.0

22.04

Rust 1.75 focused image

*Deprecated*

Use ubuntu-24.04-rust:1 instead

rust:1.67.1

unknown

Rust 1.67 focused image

*Deprecated*

Use ubuntu-24.04-rust:1 instead

rust:1.44.1

unknown

Rust 1.44 focused image

*Deprecated*

Use ubuntu-24.04-rust:1 instead

scala:latest

20.04

Scala 3.1 focused environment

ubuntu-24.04-spark-3.5:1

24.04

Spark 3.5

spark:3.1.2

unknown

Spark 3.1.2

*Deprecated*

Use ubuntu-24.04-spark-3.5:1 instead

swift:5.9

22.04

Swift 5.9

  • swift:latest – Alias

ubuntu-24.04-typescript-5.4:1

24.04

TypeScript 5.4

typescript:5.0

22.04

TypeScript 5.0

*Deprecated*

Use ubuntu-24.04-typescript-5.4:1 instead

Hide Deprecated
Image ID Base Version Notes
rocky:9.3

9.3

Rocky Linux 9.3 Base Image

rocky:9.2

9.2

Rocky Linux 9.2 Base Image

rocky:8.4

8.4

Rocky Linux 8.4 Base Image

Hide Deprecated
Image ID Base Version Notes
sysbox-kali-2024.2:1

2024.2

Kali Linux 2024 Base Image

kali:2024.2

2024.2

Kali Linux 2024 Base Image

*Deprecated*

Use sysbox-kali-2024.2:1 instead

kali:2023.1

2023.1

Kali Linux 2023 Base Image

*Deprecated*

Use sysbox-kali-2024.2:1 instead

kali:2022.4

2022.4

Kali Linux 2022 Base Image

*Deprecated*

Use sysbox-kali-2024.2:1 instead

Hide Deprecated
Image ID Base Version Notes
orm-azure

unknown

Microsoft Azure cloud labs environment

orm-aws

unknown

Amazon (AWS) cloud labs environment

orm-gcp

unknown

Google Cloud Platform (GCP) cloud labs environment

NOTE: If you aren’t able to access the code links in the preceding table, please email interactivesupport@oreilly.com to request access.

Exploring the Environments (What’s Installed?)

Environments come preloaded with a number of common languages and tools. If you need to know which version of a package is currently installed (or are simply curious), open up the environment sandbox you’re interested in and run whatever version or existence commands you would like. For example, in the Ubuntu sandbox you might run:

lsb_release -a
gcc --version
perl --version
ruby --version
node --version
go version
java -version
javac -version
docker version
docker-compose version
pip --version
python --version
pip3 --version
python3 --version
dotnet --version

Or to list all packages installed:

apt list --installed > out
cat out

If you don’t see the package(s) or tool(s) you need for your labs, chances are they can be provided to the lab environment via a foreground or background script.