Skip to main content
A training image holds CUDA, Python, and whatever your trainer imports. Nothing else.
Do not copy the platform’s source tree into the image, and do not install tuneplane-server. The runtime is injected at launch as a content-addressed PEX, so the image needs nothing from the platform for logs, lifecycle or artifacts to work.The one exception is import tuneplane in your training code under the published custom/custom recipe, which declares external observability and therefore does not patch PYTHONPATH. For that, install the tuneplane wheel. See custom training.

What belongs in it

Logs need nothing: print, logging and framework stdout all reach the Logs tab. Charts are not parsed from stdout. Use tuneplane.report or declare TensorBoard/JSONL outputs for native collection; the independent collector needs no Python SDK in the training image.

A Dockerfile to start from

Two things about that venv. The Job Capsule uses the image’s own Python, so keep the venv first on PATH — otherwise python inside train.sh is /usr/bin/python with no torch. And use a devel base if you need nvcc, which DeepSpeed’s JIT compile does.

Push, then pin

Tags work. A digest is what stops a moving tag from changing the job after admission.

The registry allowlist

--image is parsed for its registry host: ghcr.io, localhost:5000, or docker.io when the name carries no host. That host has to be in TUNEPLANE_ALLOWED_IMAGE_REGISTRIES, a comma-separated list the deployment sets. An administrator sets something like TUNEPLANE_ALLOWED_IMAGE_REGISTRIES=registry.example.com,ghcr.io, and the nodes have to be able to pull: imagePullSecrets on KubeRay, a Docker login on each registered machine, or an already-converted SIF on Slurm.

What each backend wants

A slow pull leaves the job in PENDING until the pre-running deadline, then FAILED. That is not a training bug.

Check it worked

Then submit. tp job logs reaching your own launch line means the image pulled and the venv is on PATH.

Next

Custom training · Job environment · Fleets