There are two ways to put an image into the platform's built-in registry.

WayWhenWhat you need
tar import (screen)A partner handed over a file. The receiving PC does not need DockerA browser, DevelopDEVELOPER · OPERATOR · ADMIN
docker pushThe PC that built the image can reach the platform registry directlyDocker, a container token

The result is the same. The image is registered as <registry host>/<tenant>/<repository>:<tag>, and the training pod pulls the image from this address.

Architecture and size

  • The image must have the same architecture as the training nodes. The platform imports only linux/<arch> images whose architecture is in the server setting GEO_MLOPS_SUPPORTED_ARCHITECTURES (default amd64,arm64), and a training pod is scheduled only on nodes of the image's architecture. Ask the operator which architecture the nodes use (Requirements). When you build on a computer with a different architecture, set the target, as in docker build --platform linux/amd64 ….
  • With CUDA wheels, 6–8 GB is common. The import limit is 32 GiB by default.

Handing over a tar (partner side)

docker build -t example/mnist-trainer:v1 .
docker save example/mnist-trainer:v1 | gzip > mnist-trainer-v1.tar.gz   # always include the tag
sha256sum mnist-trainer-v1.tar.gz > mnist-trainer-v1.tar.gz.sha256
ItemDetails
FormatOutput of docker save. docker-archive or OCI layout, depending on the Docker version; both are accepted
Compression.tar · .tar.gz · .tgz are accepted. Use gzip
Number of imagesOne image per archive. Putting several in, as in docker save a b, is rejected
NameThe name recorded in the archive is used as is. If you save by image ID without a tag, the name is empty and the importing side must choose one
ChecksumA .sha256 alongside detects corruption in transit

The example MNIST image (CPU-only torch) is about 520 MB compressed.

Importing a tar (platform side)

  1. Open Container Registry (컨테이너 레지스트리) in the left menu and press Import image (이미지 반입) at the top right.
  2. ① Choose the .tar.gz you received. ② Fill in repository and tag only to rename. If left empty, the archive's name (example/mnist-trainer:v1) is used. Do not type the tenant prefix (demo/); the server adds it. ③ Press Import (반입).
    Image import — ① a .tar/.tar.gz from docker save ② fill only to rename ③ Import
  3. The file is uploaded in chunks. When the transfer finishes, the server goes on to assemble → inspect → register layers. Closing the window during the transfer cuts off the upload. After the transfer finishes, the server-side work continues even if you close the window. When it is done, the Import image (이미지 반입) card shows complete (완료) and the final address.
    Import history — after assembly, inspection and layer registration the row turns Complete and shows the registry address

If an import fails, the card shows the reason (architecture mismatch, not a docker save output, and so on). The warning in the screen above (skipped an attestation manifest …) means an attestation manifest that recent Docker versions save alongside was skipped; it has no effect on using the image.

Uploading with docker push

  1. Issue a token at Account settings (계정 설정) → Container tokens (컨테이너 토큰). The token is shown only once right after issuing, together with a docker login command with the host and user name filled in. Pushing needs the develop permission (DEVELOPER, OPERATOR, ADMIN).
    Right after issuing a container token — ① the secret is shown only now ② a ready docker login command
  2. Log in, tag the image, and push it.
echo "<issued token>" | docker login mlops.example.com -u demo --password-stdin
docker tag example/mnist-trainer:v1 mlops.example.com/demo/example/mnist-trainer:v1
docker push mlops.example.com/demo/example/mnist-trainer:v1
  • Any user name works. The token is the password, and the tenant is fixed in the token.
  • Put the tenant code (lower case) in the first segment of the path. That gives the same shape as images imported on screen.
  • If the registry is open only over HTTP, the Docker daemon needs an insecure-registry setting — see Use the container registry directly.

Next: Make it selectable in the wizard

Written for the platform as of 2026-10-02.

© MLOps Central Platform