Skip to content

'docker image load' with containerd storage throws 'failed to get stream processor for application/vnd.in-toto+json' error #45600

@mahangu

Description

@mahangu

Description

When using docker load --input on docker-ce 24.0.1 on Ubuntu 22.04 LTS (arm64) with containerd storage enabled, the command outputs an error like:

failed to extract layer sha256:e77d15d1066835f5c5eeefbd0314bdb323c26e0b43deaf45bdb33f5ea80774ec: failed to get stream processor for application/vnd.in-toto+json: no processor for media-type: unknown

— though the image loads and seems to work fine. This does not happen when containerd storage is disabled, so could this be a regression related to containerd?

With containerd storage ENABLED -> failed to extract layer sha256:e77d15d1066835f5c5eeefbd0314bdb323c26e0b43deaf45bdb33f5ea80774ec: failed to get stream processor for application/vnd.in-toto+json: no processor for media-type: unknown

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# cat /etc/docker/daemon.json 
{"features":{"containerd-snapshotter":true}}
 Server Version: 24.0.1
 Storage Driver: overlayfs
  driver-type: io.containerd.snapshotter.v1
root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# echo "FROM debian" > Dockerfile && docker build -t debian-test-load .
root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker images
REPOSITORY         TAG       IMAGE ID       CREATED          SIZE
debian-test-load   latest    cebe91bce444   22 seconds ago   189MB

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# ls
Dockerfile

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker save debian-test-load -o images.tar

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# ls
Dockerfile  images.tar

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker image rm debian-test-load
Untagged: debian-test-load:latest
Deleted: sha256:cebe91bce4442c48776b438dcadaba69807723df7f28c2c111b24c34ad8351d9

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker image load --input images.tar 
failed to extract layer sha256:e77d15d1066835f5c5eeefbd0314bdb323c26e0b43deaf45bdb33f5ea80774ec: failed to get stream processor for application/vnd.in-toto+json: no processor for media-type: unknown

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker images
REPOSITORY         TAG       IMAGE ID       CREATED         SIZE
debian-test-load   latest    cebe91bce444   6 seconds ago   189MB

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker run -it debian-test-load /bin/bash
root@812a8361c71a:/# cat /etc/issue
Debian GNU/Linux 11 \n \l

root@812a8361c71a:/# ls
bin  boot  dev	etc  home  lib	media  mnt  opt  proc  root  run  sbin	srv  sys  tmp  usr  var

With containerd storage DISABLED -> Loaded image: debian-test-load:latest

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-save# mv /etc/docker/daemon.json /etc/docker/daemon.json.bk
root@ubuntu-linux-22-04-desktop:/home/parallels/docker-save# systemctl restart docker
 Server Version: 24.0.1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker image rm debian-test-load

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# echo "FROM debian" > Dockerfile && docker build -t debian-test-load .

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker images
REPOSITORY         TAG       IMAGE ID       CREATED        SIZE
debian-test-load   latest    fdbc8c3f63bc   27 hours ago   118MB

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# ls
Dockerfile

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker save debian-test-load -o images.tar

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# ls
Dockerfile  images.tar

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker image rm debian-test-load
Untagged: debian-test-load:latest
Deleted: sha256:fdbc8c3f63bc9632f7ceadaeeb0454e7fca4975a1bd8938558f17ba51da5cff1

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker image load --input images.tar 
Loaded image: debian-test-load:latest

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker images
REPOSITORY         TAG       IMAGE ID       CREATED        SIZE
debian-test-load   latest    fdbc8c3f63bc   27 hours ago   118MB

root@ubuntu-linux-22-04-desktop:/home/parallels/docker-load# docker run -it debian-test-load /bin/bash

root@92ed9f13c6a2:/# cat /etc/issue
Debian GNU/Linux 11 \n \l

root@92ed9f13c6a2:/# ls
bin  boot  dev	etc  home  lib	media  mnt  opt  proc  root  run  sbin	srv  sys  tmp  usr  var

Thank you for looking into this and please let me know if you need any other info from my end!

Reproduce

  1. echo "FROM debian" > Dockerfile && docker build -t debian-test-load .
  2. docker save debian-test-load -o images.tar
  3. docker image rm debian-test-load
  4. docker image load --input images.tar
  5. docker run -it debian-test-load /bin/bash

Expected behavior

docker image load --input images.tar should load the images in the .tar without throwing a failed to get stream processor for application/vnd.in-toto+json error.

docker version

Client: Docker Engine - Community
 Version:           24.0.1
 API version:       1.43
 Go version:        go1.20.4
 Git commit:        6802122
 Built:             Fri May 19 18:06:27 2023
 OS/Arch:           linux/arm64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          24.0.1
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.4
  Git commit:       463850e
  Built:            Fri May 19 18:06:27 2023
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.21
  GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version:          1.1.7
  GitCommit:        v1.1.7-0-g860f061
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client: Docker Engine - Community
 Version:    24.0.1
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.10.4
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.18.1
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 2
  Running: 0
  Paused: 0
  Stopped: 2
 Images: 11
 Server Version: 24.0.1
 Storage Driver: overlayfs
  driver-type: io.containerd.snapshotter.v1
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 3dce8eb055cbb6872793272b4f20ed16117344f8
 runc version: v1.1.7-0-g860f061
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 5.15.0-41-generic
 Operating System: Ubuntu 22.04 LTS
 OSType: linux
 Architecture: aarch64
 CPUs: 10
 Total Memory: 15.59GiB
 Name: ubuntu-linux-22-04-desktop
 ID: 6db7b1a7-4910-4506-bcc4-5175d53c894f
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Additional Info

No response

Metadata

Metadata

Assignees

Labels

area/imagesImage Distributioncontainerd-integrationIssues and PRs related to containerd integrationkind/bugBugs are bugs. The cause may or may not be known at triage time so debugging may be needed.status/0-triageversion/24.0

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions