podman: Unable to load an image: "payload does not match any of the supported image formats (oci, oci-archive, dir, docker-archive)"

/kind bug

Description

When I save an image on my Mac with Docker, upload it to a linux machine and try to load the .tar file with podman, I get Error: payload does not match any of the supported image formats (oci, oci-archive, dir, docker-archive)

This works fine in Podman 3.0.2-dev but not in Podman 3.3.1.

I tried building with buildx and setting the type to oci but that didn’t make a difference. docker buildx build -o type=oci,dest=<image-name>.tar -f Dockerfile .

Steps to reproduce the issue:

In MacOS machine:

  1. download a ready-made image or build your own, doesn’t make a difference
  2. docker save -o postgres.tar postgres
  3. upload postgres.tar to a linux machine

In Linux machine:

  1. podman load -i postgres.tar

Describe the results you received: Error: payload does not match any of the supported image formats (oci, oci-archive, dir, docker-archive)

Describe the results you expected: No errors and image to be listed with podman images

Additional information you deem important (e.g. issue happens only occasionally):

Output of podman version:

Version:      3.3.1
API Version:  3.3.1
Go Version:   go1.16.7
Built:        Tue Nov  9 14:25:58 2021
OS/Arch:      linux/amd64

Output of podman info --debug:

host:
  arch: amd64
  buildahVersion: 1.22.3
  cgroupControllers: []
  cgroupManager: cgroupfs
  cgroupVersion: v1
  conmon:
    package: conmon-2.0.29-1.module_el8.5.0+2586+018f24d7.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.0.29, commit: 605b895b7c7a95097901b9db7a9058f0f362d34c'
  cpus: 4
  distribution:
    distribution: '"almalinux"'
    version: "8.5"
  eventLogger: file
  hostname: pelsu2
  idMappings:
    gidmap:
    - container_id: 0
      host_id: 100
      size: 1
    uidmap:
    - container_id: 0
      host_id: 10172
      size: 1
  kernel: 4.18.0-348.12.2.el8_5.x86_64
  linkmode: dynamic
  memFree: 47550947328
  memTotal: 52510380032
  ociRuntime:
    name: runc
    package: runc-1.0.2-1.module_el8.5.0+2586+018f24d7.x86_64
    path: /usr/bin/runc
    version: |-
      runc version 1.0.2
      spec: 1.0.2-dev
      go: go1.16.7
      libseccomp: 2.5.1
  os: linux
  remoteSocket:
    path: /run/user/10172/podman/podman.sock
  security:
    apparmorEnabled: false
    capabilities: CAP_NET_RAW,CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
    rootless: true
    seccompEnabled: true
    seccompProfilePath: /usr/share/containers/seccomp.json
    selinuxEnabled: true
  serviceIsRemote: false
  slirp4netns:
    executable: /usr/bin/slirp4netns
    package: slirp4netns-1.1.8-1.module_el8.5.0+2586+018f24d7.x86_64
    version: |-
      slirp4netns version 1.1.8
      commit: d361001f495417b880f20329121e3aa431a8f90f
      libslirp: 4.4.0
      SLIRP_CONFIG_VERSION_MAX: 3
      libseccomp: 2.5.1
  swapFree: 4294963200
  swapTotal: 4294963200
  uptime: 76h 12m 53.74s (Approximately 3.17 days)
registries:
  search:
  - registry.fedoraproject.org
  - registry.access.redhat.com
  - registry.centos.org
  - docker.io
store:
  configFile: /home/kaisa.taipale/.config/containers/storage.conf
  containerStore:
    number: 0
    paused: 0
    running: 0
    stopped: 0
  graphDriverName: overlay
  graphOptions: {}
  graphRoot: /home/kaisa.taipale/.local/share/containers/storage
  graphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "true"
    Supports d_type: "true"
    Using metacopy: "false"
  imageStore:
    number: 3
  runRoot: /run/user/10172/containers
  volumePath: /home/kaisa.taipale/.local/share/containers/storage/volumes
version:
  APIVersion: 3.3.1
  Built: 1636460758
  BuiltTime: Tue Nov  9 14:25:58 2021
  GitCommit: ""
  GoVersion: go1.16.7
  OsArch: linux/amd64
  Version: 3.3.1

Package info (e.g. output of rpm -q podman or apt list podman):

podman-3.3.1-9.module_el8.5.0+2586+018f24d7.x86_64

Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide? (https://github.com/containers/podman/blob/main/troubleshooting.md)

Yes

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 30 (15 by maintainers)

Most upvoted comments

Are you sure the User Namespace is fine, have you tried to load the image as root?

Bingo! Running as root indeed made the difference, thank you! Though I’m now puzzled why it worked with 3.0. Never crossed my mind that root privileges would be needed with v 3.4.

Yeah this is still happening, podman version 4.5.1, using fedora immutable distro.

Maybe this will help you: #13112

Thanks for the pointer! Though in my case the disk space is not a problem. I tried this also another linux machine with following steps:

  1. podman --version -> 3.0.2-dev
  2. podman load -i <image>.tar -> success
  3. sudo dnf update podman
  4. podman --version -> 3.4.2
  5. podman load -i <image>.tar -> Error: payload does not match any of the supported image formats (oci, oci-archive, dir, docker-archive)

Does the #13112 occur even if there is enough disk space?

ping @rhatdan