← All TILs · podman

Moving a container image between hosts with podman save + scp + load, no registry

podman - 2026-09-05

Sometimes the easiest way to get an image onto another machine isn't pushing it to a registry — especially for a one-off image, or a homelab box with no registry set up at all. podman save / podman load round-trips an image through a plain tar file, and scp is the only thing in between.

Save it on the source host

podman save -o myimage.tar myimage:latest

-o writes to a file instead of stdout. The default archive format is docker-archive (a tar interoperable with docker load, not just Podman), so the image is portable to Docker on the other end too if needed.

Worth compressing before it goes anywhere over the network:

podman save myimage:latest | gzip > myimage.tar.gz

Copy it across

scp myimage.tar.gz user@remote-host:/tmp/

Nothing Podman-specific here — it's just a file.

Load it on the destination host

podman load -i myimage.tar.gz

No need to gunzip first — podman load auto-detects a compressed archive and handles it directly. -i reads from that file; leave it off entirely and podman load reads from stdin instead, which also means this works as one piped command across ssh without an intermediate file at all:

podman save myimage:latest | gzip | ssh user@remote-host 'podman load'

Confirm it landed:

podman images

Saving more than one image at once

-m/--multi-image-archive bundles multiple images (or multiple tags of the same image) into a single tar, as long as the format stays docker-archive (the default):

podman save -m -o bundle.tar myimage:latest myimage:v1.2 otherimage:latest

podman load then restores all of them from that one file in one go.

Created 2026-09-05T15:08:56+02:00 · Edit