Runtime Image Configuration

A runtime image configuration identifies a Docker image that Elyra can utilize to run Jupyter notebooks on a container platform, such as Kubernetes.

Prerequisites

A runtime image configuration is associated with a Docker image that must meet these prerequisites:

  • The image must be stored in the public Docker Hub container registry https://hub.docker.com/.
  • The image must have Python 3 pre-installed.
  • The image must have curl pre-installed.

Refer to Creating a custom runtime Docker image for details.

Managing Runtime Image Configurations

Runtime image configurations can be managed with the Runtime Images user interface or the elyra-metadata command line interface.

User-managed runtime image configurations are stored as JSON files in your local Jupyter Data directory under the metadata/runtime-images subdirectory. Run jupyter --data-dir in a terminal window to identify the location of the data directory in your environment:

$ jupyter --data-dir
/Users/jdoe/Library/Jupyter

Managing Runtime Images with the User Interface

Runtime image configurations can be added, modified, and removed in the Runtime Images panel.

To access the panel in JupyterLab:

  • Open the JupyterLab command palette (<cmd/ctrl><shift><c>).
  • Click Show Runtime Images in the Elyra section.

Runtime Images UI

To add a runtime image configuration:

  • Click + to add a runtime image.
  • Add the runtime image properties as appropriate.

To edit a runtime image configuration:

  • Click the edit icon next to the runtime image name.
  • Modify the runtime image properties as desired.

To delete a runtime image configuration:

  • Click the delete icon next to the runtime image name.
  • Confirm deletion.

Managing Runtime Images with the Command Line Interface

Runtime image configurations can be added, replaced, and removed with the elyra-metadata command line interface.

To list runtime image configurations:

$ elyra-metadata list runtime-images

Available metadata instances for runtime-images (includes invalid):

Schema          Instance               Resource                                                                                                       
------          --------               --------                                                                                                       
runtime-image   anaconda               /Users/jdoe/.../jupyter/metadata/runtime-images/anaconda.json
...  

To add a runtime image configuration for the public jdoe/my-image:1.0.0 Docker image:

$ elyra-metadata install runtime-images --schema_name=runtime-image \
       --name="my_image_name" \
       --display_name="My runtime image" \
       --description="My custom runtime Docker image" \
       --image_name="jdoe/my-image:1.0.0"

To replace a runtime image configuration append the --replace option:

$ elyra-metadata install runtime-images --schema_name=runtime-image \
       --name="my_image_name" \
       --display_name="My runtime image" \
       --description="My other custom runtime Docker image" \
       --image_name="jdoe/my-other-image:1.0.1" \
       --replace

To delete a runtime image configuration:

$ elyra-metadata remove runtime-images \
       --name="my_image_name"

Configuration properties

The runtime image configuration properties are defined as follows. The string in the headings below, which is enclosed in parentheses, denotes the CLI option name.

Name (display_name)

A user-friendly name for runtime image configuration. This property is required.

Example: My runtime image

Description (description)

Description for this runtime image configuration.

Example: My custom runtime Docker image

Image Name (image_name)

The name and tag of an existing Docker image in the public Docker Hub container registry that meets the stated prerequisites. This property is required.

Example: jdoe/my-image:1.0.0

N/A (name)

A unique internal identifier for the runtime image configuration. The property is required when the command line interface is used manage a configuration. An identifier is automatically generated from the user-friendly name when a configuration is added using the UI.

Example: my_runtime_image