Package: podman
Version: 4.3.1
Podman cannot load images compressed with gzip. Uncompressed
images or bzip2 compressed images work right therefore it seems to
be a problem related to gzip handling.
It seems to be the same problem reported here:
Tested under Bookworm with podman 4.3.1:
$ podman image pull hello-world:latest
Resolved "hello-world" as an alias
(/etc/containers/registries.conf.d/shortnames.conf)
Trying to pull
docker.io/library/hello-world:latest...
Getting image source signatures
Copying blob 2db29710123e done
Copying config feb5d9fea6 done
Writing manifest to image destination
Storing signatures
feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412
$ podman image save hello-world:latest > hello-world.tar
$ podman image save hello-world:latest | gzip >
hello-world.tar.gz
$ podman image save hello-world:latest | bzip2 >
hello-world.tar.bz2
$ podman image load -i hello-world.tar
Getting image source signatures
Copying blob e07ee1baac5f skipped: already exists
Copying config feb5d9fea6 done
Writing manifest to image destination
Storing signatures
Loaded image:
docker.io/library/hello-world:latest
$ podman image load -i hello-world.tar.gz
Error:
payload does not match any of the supported image formats:
* oci: initializing source oci:hello-world.tar.gz:: open
hello-world.tar.gz/index.json: not a directory
* oci-archive: loading index: open
/var/tmp/oci3062655986/index.json: no such file or directory
* docker-archive: loading tar component manifest.json: unexpected
EOF
* dir: open hello-world.tar.gz/manifest.json: not a directory
$ podman image load -i hello-world.tar.bz2
Getting image source signatures
Copying blob e07ee1baac5f skipped: already exists
Copying config feb5d9fea6 done
Writing manifest to image destination
Storing signatures
Loaded image:
docker.io/library/hello-world:latest
Attached you have the debug output of the failing command:
$ podman --debug image load -i hello-world.tar.gz
In Bullseye with podman 3.0.1 all works as expected:
$ podman image pull hello-world:latest
Resolved "hello-world" as an alias
(/etc/containers/registries.conf.d/shortnames.conf)
Trying to pull
docker.io/library/hello-world:latest...
Getting image source signatures
Copying blob 2db29710123e done
Copying config feb5d9fea6 done
Writing manifest to image destination
Storing signatures
feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412
$ podman image save hello-world:latest > hello-world.tar
Copying blob e07ee1baac5f done
Copying config feb5d9fea6 done
Writing manifest to image destination
Storing signatures
$ podman image save hello-world:latest | gzip >
hello-world.tar.gz
Copying blob e07ee1baac5f done
Copying config feb5d9fea6 done
Writing manifest to image destination
Storing signatures
$ podman image save hello-world:latest | bzip2 >
hello-world.tar.bz2
Copying blob e07ee1baac5f done
Copying config feb5d9fea6 done
Writing manifest to image destination
Storing signatures
$ podman image load -i hello-world.tar
Getting image source signatures
Copying blob e07ee1baac5f [--------------------------------------]
0.0b / 0.0b
Copying config feb5d9fea6 done
Writing manifest to image destination
Storing signatures
Loaded image(s):
docker.io/library/hello-world:latest
$ podman image load -i hello-world.tar.gz
Getting image source signatures
Copying blob e07ee1baac5f skipped: already exists
Copying config feb5d9fea6 done
Writing manifest to image destination
Storing signatures
Loaded image(s):
docker.io/library/hello-world:latest
$ podman image load -i hello-world.tar.bz2
Getting image source signatures
Copying blob e07ee1baac5f [--------------------------------------]
0.0b / 0.0b
Copying config feb5d9fea6 done
Writing manifest to image destination
Storing signatures
Loaded image(s):
docker.io/library/hello-world:latest
Best regards.