clipper push
Convert a local image and push to a chunked registry.
clipper [--runtime=<runtime>] push <image> <dst> [flags]
Arguments
| Argument | Description |
|---|---|
<image> | Local image to push (e.g. ubuntu:24.04) |
<dst> | Destination reference (e.g. myuser/ubuntu:latest) |
Flags
| Flag | Default | Description |
|---|---|---|
-j, --jobs | 4 | Parallel upload workers |
--platform | auto-detect | Target platform (e.g. linux/amd64) |
Global flags
--runtime is a global flag and must come before the subcommand, e.g. clipper --runtime=containerd <command> .... It forces the container runtime: containerd, podman, or docker (default: auto-detect). See Container Runtimes.
Examples
Push a Docker Hub image
docker pull nginx:latest
clipper push nginx:latest myuser/nginx:latest
Push to a specific org
clipper push myapp:v1.2 myorg/myapp:v1.2
Push with more parallelism
clipper push large-image:latest myuser/large-image:latest -j 32
Push a specific platform
clipper push --platform linux/amd64 myimage:latest myuser/myimage:latest
Push from containerd
sudo clipper --runtime=containerd push myimage:latest myuser/myimage:latest
How it works
- Reads the image from the local container runtime (Docker, containerd, or Podman)
- Breaks each layer into chunks
- Uploads only chunks not already present in the registry
- Pushes the manifest referencing the chunked layers
Subsequent pushes of similar images skip chunks that already exist, making updates fast.