containers / podman

Podman: A tool for managing OCI containers and pods.
https://podman.io
Apache License 2.0
23.03k stars 2.35k forks source link

`image tree` doesn't output expected layer or image ids #23349

Open computator opened 1 month ago

computator commented 1 month ago

Issue Description

podman image tree <image_id> purports to list all the layers in an image and their hierarchy. One would expect that the ids printed by this would correspond to image or layer ids or digests, and thus appear in podman image inspect <image_id> or podman image list --all. Instead the "layer ids" it outputs seem to mostly only match graphdriver overlay directories.

Steps to reproduce the issue

Steps to reproduce the issue

  1. podman image pull docker.io/library/php
  2. podman image tree docker.io/library/php
  3. Note that the layer IDs listed do not appear in podman image list --all or in any of the expected fields of podman image inspect docker.io/library/php. They also are not inspectable with podman inspect <layer_id>.

Describe the results you received

Upon running tree I get these IDs

# podman image tree docker.io/library/php
podman image tree docker.io/library/php
Image ID: 4f9597754516
Tags:     [docker.io/library/php:latest]
Size:     545MB
Image Layers
├── ID: 32148f9f6c5a Size: 77.83MB
├── ID: 831766d27011 Size: 3.584kB
├── ID: 193d040227b3 Size: 320.2MB
├── ID: d3d374d7d043 Size:  5.12kB
├── ID: b09bb8e71de5 Size: 13.72MB
├── ID: 2a89e66fa7d1 Size: 4.096kB
├── ID: 6c285d6fbd02 Size: 133.2MB
├── ID: 3316c11f6837 Size:  12.8kB
└── ID: c20d6bab9b5f Size: 4.608kB Top Layer of: [docker.io/library/php:latest]

Note that the root layer id, 32148f9f6c5a, is the only one that appears in the output of the layers section of podman image inspect (below). All of the rest, including the one claiming to be the top layer of the image only appear in the GraphDriver section overlay directories. None of the layer ids appear in podman image list --all. In many images not even the root layer appears in the layers section of inspect.

# podman image list --all --digests
REPOSITORY             TAG         DIGEST                                                                   IMAGE ID      CREATED      SIZE
docker.io/library/php  latest      sha256:d5338bd62184c4ae4526b9e7a93de80acc5436e31d262f3063a4ad5ed4b1308a  4f9597754516  2 weeks ago  545 MB

# podman image inspect docker.io/library/php
[
     {
          "Id": "4f9597754516b9ba81410f23019d77a05da445277a4c3a6b6ddb0a7e418de660",
          "Digest": "sha256:fa9d0d6d4def5fb95c76df2378589a76f3056728bab022035969cfe19f55b7f8",
          "RepoTags": [
               "docker.io/library/php:latest"
          ],
          "RepoDigests": [
               "docker.io/library/php@sha256:d5338bd62184c4ae4526b9e7a93de80acc5436e31d262f3063a4ad5ed4b1308a",
               "docker.io/library/php@sha256:fa9d0d6d4def5fb95c76df2378589a76f3056728bab022035969cfe19f55b7f8"
          ],
          "Parent": "",
          "Comment": "",
          "Created": "2024-07-06T00:39:20.114441268Z",
          "Config": {
               "Env": [
                    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                    "PHPIZE_DEPS=autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c",
                    "PHP_INI_DIR=/usr/local/etc/php",
                    "PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
                    "PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
                    "PHP_LDFLAGS=-Wl,-O1 -pie",
                    "GPG_KEYS=1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA",
                    "PHP_VERSION=8.3.9",
                    "PHP_URL=https://www.php.net/distributions/php-8.3.9.tar.xz",
                    "PHP_ASC_URL=https://www.php.net/distributions/php-8.3.9.tar.xz.asc",
                    "PHP_SHA256=bf4d7b8ea60a356064f88485278bd6f941a230ec16f0fc401574ce1445ad6c77"
               ],
               "Entrypoint": [
                    "docker-php-entrypoint"
               ],
               "Cmd": [
                    "php",
                    "-a"
               ]
          },
          "Version": "23.0.11",
          "Author": "",
          "Architecture": "amd64",
          "Os": "linux",
          "Size": 544952553,
          "VirtualSize": 544952553,
          "GraphDriver": {
               "Name": "overlay",
               "Data": {
                    "LowerDir": "/var/lib/containers/storage/overlay/3316c11f6837a7d864cdf2cd69eca8efacd281ab32603fbec1bfea5d2dc63287/diff:/var/lib/containers/storage/overlay/6c285d6fbd0291b0ec8191bf494c013f735cf0e671b0183b5a7b71eae556c5e1/diff:/var/lib/containers/storage/overlay/2a89e66fa7d12e96404230e8baa188b9a452de042ec2e53c6251a41f07a73e38/diff:/var/lib/containers/storage/overlay/b09bb8e71de508027a3c31052c62d261ecdea66c79fcbf4f230844cd0d6dd06d/diff:/var/lib/containers/storage/overlay/d3d374d7d043ea6d1d0165be197ac0fddc125a9a0a1cfe787b9d4e9f2ed1b5f0/diff:/var/lib/containers/storage/overlay/193d040227b35c765dd53ac20c778b3bc5d63980358bded62a5a1e7cea5e0497/diff:/var/lib/containers/storage/overlay/831766d27011bb5056b687631869db34f8011d95002563a960b36abbe50f0b55/diff:/var/lib/containers/storage/overlay/32148f9f6c5aadfa167ee7b146b9703c59307049d68b090c19db019fd15c5406/diff",
                    "UpperDir": "/var/lib/containers/storage/overlay/c20d6bab9b5f0421332ddf3431151fd969e5fea5527b4973102af3bb4bf64bba/diff",
                    "WorkDir": "/var/lib/containers/storage/overlay/c20d6bab9b5f0421332ddf3431151fd969e5fea5527b4973102af3bb4bf64bba/work"
               }
          },
          "RootFS": {
               "Type": "layers",
               "Layers": [
                    "sha256:32148f9f6c5aadfa167ee7b146b9703c59307049d68b090c19db019fd15c5406",
                    "sha256:612b0f444e867dbf43550ac8f90a757eacc37f09314c650c2cbbafea54302f87",
                    "sha256:19adf6ebb0bdd9033baaa8e6f0b15aed3426db4a60dba6fd6eb82a4d0f1a5b71",
                    "sha256:030e470e5f11662db3eb3bf3b846a842aa249341a2289b42161623c9732a2593",
                    "sha256:8caf5ec35b8fca58b289fe52b2ad45a4e0122ae5d223d6b6042500f90443ef8f",
                    "sha256:56726d20458fd83186f89f52500bf1ce1f11427730f173ce95540330801d1896",
                    "sha256:e0c58004a1e67b2be5b0962cacfca204071b91fdf5dd859a6a1a3ac326481f06",
                    "sha256:8afe41d4973e978b38db6f8aa8a40fdfc0f222903ef22763ec296f842a8e10b8",
                    "sha256:4b17dac208b84a38dfc6538e843f5b3a1aa636380ee28651766660f452114e1c"
               ]
          },
          "Labels": null,
          "Annotations": {},
          "ManifestType": "application/vnd.docker.distribution.manifest.v2+json",
          "User": "",
          "History": [
               {
                    "created": "2024-07-02T01:25:02.331012304Z",
                    "created_by": "/bin/sh -c #(nop) ADD file:b24689567a7c604de93e4ef1dc87c372514f692556744da43925c575b4f80df6 in / "
               },
               {
                    "created": "2024-07-02T01:25:02.745660567Z",
                    "created_by": "/bin/sh -c #(nop)  CMD [\"bash\"]",
                    "empty_layer": true
               },
               {
                    "created": "2024-07-02T02:09:02.418038037Z",
                    "created_by": "/bin/sh -c set -eux; \t{ \t\techo 'Package: php*'; \t\techo 'Pin: release *'; \t\techo 'Pin-Priority: -1'; \t} > /etc/apt/preferences.d/no-debian-php"
               },
               {
                    "created": "2024-07-02T02:09:02.526864165Z",
                    "created_by": "/bin/sh -c #(nop)  ENV PHPIZE_DEPS=autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c",
                    "empty_layer": true
               },
               {
                    "created": "2024-07-02T02:09:23.085307001Z",
                    "created_by": "/bin/sh -c set -eux; \tapt-get update; \tapt-get install -y --no-install-recommends \t\t$PHPIZE_DEPS \t\tca-certificates \t\tcurl \t\txz-utils \t; \trm -rf /var/lib/apt/lists/*"
               },
               {
                    "created": "2024-07-02T02:09:24.004373275Z",
                    "created_by": "/bin/sh -c #(nop)  ENV PHP_INI_DIR=/usr/local/etc/php",
                    "empty_layer": true
               },
               {
                    "created": "2024-07-02T02:09:24.60009124Z",
                    "created_by": "/bin/sh -c set -eux; \tmkdir -p \"$PHP_INI_DIR/conf.d\"; \t[ ! -d /var/www/html ]; \tmkdir -p /var/www/html; \tchown www-data:www-data /var/www/html; \tchmod 1777 /var/www/html"
               },
               {
                    "created": "2024-07-02T02:09:24.709996052Z",
                    "created_by": "/bin/sh -c #(nop)  ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
                    "empty_layer": true
               },
               {
                    "created": "2024-07-02T02:09:24.823214258Z",
                    "created_by": "/bin/sh -c #(nop)  ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
                    "empty_layer": true
               },
               {
                    "created": "2024-07-02T02:09:24.934046575Z",
                    "created_by": "/bin/sh -c #(nop)  ENV PHP_LDFLAGS=-Wl,-O1 -pie",
                    "empty_layer": true
               },
               {
                    "created": "2024-07-02T02:09:25.038441772Z",
                    "created_by": "/bin/sh -c #(nop)  ENV GPG_KEYS=1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA",
                    "empty_layer": true
               },
               {
                    "created": "2024-07-06T00:35:34.186404444Z",
                    "created_by": "/bin/sh -c #(nop)  ENV PHP_VERSION=8.3.9",
                    "empty_layer": true
               },
               {
                    "created": "2024-07-06T00:35:34.335021833Z",
                    "created_by": "/bin/sh -c #(nop)  ENV PHP_URL=https://www.php.net/distributions/php-8.3.9.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.3.9.tar.xz.asc",
                    "empty_layer": true
               },
               {
                    "created": "2024-07-06T00:35:34.4460263Z",
                    "created_by": "/bin/sh -c #(nop)  ENV PHP_SHA256=bf4d7b8ea60a356064f88485278bd6f941a230ec16f0fc401574ce1445ad6c77",
                    "empty_layer": true
               },
               {
                    "created": "2024-07-06T00:35:45.935549771Z",
                    "created_by": "/bin/sh -c set -eux; \t\tsavedAptMark=\"$(apt-mark showmanual)\"; \tapt-get update; \tapt-get install -y --no-install-recommends gnupg; \trm -rf /var/lib/apt/lists/*; \t\tmkdir -p /usr/src; \tcd /usr/src; \t\tcurl -fsSL -o php.tar.xz \"$PHP_URL\"; \t\tif [ -n \"$PHP_SHA256\" ]; then \t\techo \"$PHP_SHA256 *php.tar.xz\" | sha256sum -c -; \tfi; \t\tif [ -n \"$PHP_ASC_URL\" ]; then \t\tcurl -fsSL -o php.tar.xz.asc \"$PHP_ASC_URL\"; \t\texport GNUPGHOME=\"$(mktemp -d)\"; \t\tfor key in $GPG_KEYS; do \t\t\tgpg --batch --keyserver keyserver.ubuntu.com --recv-keys \"$key\"; \t\tdone; \t\tgpg --batch --verify php.tar.xz.asc php.tar.xz; \t\tgpgconf --kill all; \t\trm -rf \"$GNUPGHOME\"; \tfi; \t\tapt-mark auto '.*' > /dev/null; \tapt-mark manual $savedAptMark > /dev/null; \tapt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false"
               },
               {
                    "created": "2024-07-06T00:35:46.083629552Z",
                    "created_by": "/bin/sh -c #(nop) COPY file:ce57c04b70896f77cc11eb2766417d8a1240fcffe5bba92179ec78c458844110 in /usr/local/bin/ "
               },
               {
                    "created": "2024-07-06T00:39:18.755347139Z",
                    "created_by": "/bin/sh -c set -eux; \t\tsavedAptMark=\"$(apt-mark showmanual)\"; \tapt-get update; \tapt-get install -y --no-install-recommends \t\tlibargon2-dev \t\tlibcurl4-openssl-dev \t\tlibonig-dev \t\tlibreadline-dev \t\tlibsodium-dev \t\tlibsqlite3-dev \t\tlibssl-dev \t\tlibxml2-dev \t\tzlib1g-dev \t; \t\texport \t\tCFLAGS=\"$PHP_CFLAGS\" \t\tCPPFLAGS=\"$PHP_CPPFLAGS\" \t\tLDFLAGS=\"$PHP_LDFLAGS\" \t\tPHP_BUILD_PROVIDER='https://github.com/docker-library/php' \t\tPHP_UNAME='Linux - Docker' \t; \tdocker-php-source extract; \tcd /usr/src/php; \tgnuArch=\"$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)\"; \tdebMultiarch=\"$(dpkg-architecture --query DEB_BUILD_MULTIARCH)\"; \tif [ ! -d /usr/include/curl ]; then \t\tln -sT \"/usr/include/$debMultiarch/curl\" /usr/local/include/curl; \tfi; \t./configure \t\t--build=\"$gnuArch\" \t\t--with-config-file-path=\"$PHP_INI_DIR\" \t\t--with-config-file-scan-dir=\"$PHP_INI_DIR/conf.d\" \t\t\t\t--enable-option-checking=fatal \t\t\t\t--with-mhash \t\t\t\t--with-pic \t\t\t\t--enable-mbstring \t\t--enable-mysqlnd \t\t--with-password-argon2 \t\t--with-sodium=shared \t\t--with-pdo-sqlite=/usr \t\t--with-sqlite3=/usr \t\t\t\t--with-curl \t\t--with-iconv \t\t--with-openssl \t\t--with-readline \t\t--with-zlib \t\t\t\t--enable-phpdbg \t\t--enable-phpdbg-readline \t\t\t\t--with-pear \t\t\t\t--with-libdir=\"lib/$debMultiarch\" \t\t\t\t--enable-embed \t; \tmake -j \"$(nproc)\"; \tfind -type f -name '*.a' -delete; \tmake install; \tfind \t\t/usr/local \t\t-type f \t\t-perm '/0111' \t\t-exec sh -euxc ' \t\t\tstrip --strip-all \"$@\" || : \t\t' -- '{}' + \t; \tmake clean; \t\tcp -v php.ini-* \"$PHP_INI_DIR/\"; \t\tcd /; \tdocker-php-source delete; \t\tapt-mark auto '.*' > /dev/null; \t[ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; \tfind /usr/local -type f -executable -exec ldd '{}' ';' \t\t| awk '/=>/ { so = $(NF-1); if (index(so, \"/usr/local/\") == 1) { next }; gsub(\"^/(usr/)?\", \"\", so); printf \"*%s\\n\", so }' \t\t| sort -u \t\t| xargs -r dpkg-query --search \t\t| cut -d: -f1 \t\t| sort -u \t\t| xargs -r apt-mark manual \t; \tapt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \trm -rf /var/lib/apt/lists/*; \t\tpecl update-channels; \trm -rf /tmp/pear ~/.pearrc; \t\tphp --version"
               },
               {
                    "created": "2024-07-06T00:39:19.262878485Z",
                    "created_by": "/bin/sh -c #(nop) COPY multi:6edd033b037aa2d7697fc3b9f82c2f162146c1920a0c6d25a165dc56783204db in /usr/local/bin/ "
               },
               {
                    "created": "2024-07-06T00:39:19.850946577Z",
                    "created_by": "/bin/sh -c docker-php-ext-enable sodium"
               },
               {
                    "created": "2024-07-06T00:39:19.954400286Z",
                    "created_by": "/bin/sh -c #(nop)  ENTRYPOINT [\"docker-php-entrypoint\"]",
                    "empty_layer": true
               },
               {
                    "created": "2024-07-06T00:39:20.114441268Z",
                    "created_by": "/bin/sh -c #(nop)  CMD [\"php\" \"-a\"]",
                    "empty_layer": true
               }
          ],
          "NamesHistory": [
               "docker.io/library/php:latest"
          ]
     }
]

Describe the results you expected

I would expect all of the listed ids to correspond to one of the layer ids from this section of the inspect output:

          "RootFS": {
               "Type": "layers",
               "Layers": [
                    "sha256:32148f9f6c5aadfa167ee7b146b9703c59307049d68b090c19db019fd15c5406",
                    "sha256:612b0f444e867dbf43550ac8f90a757eacc37f09314c650c2cbbafea54302f87",
                    "sha256:19adf6ebb0bdd9033baaa8e6f0b15aed3426db4a60dba6fd6eb82a4d0f1a5b71",
                    "sha256:030e470e5f11662db3eb3bf3b846a842aa249341a2289b42161623c9732a2593",
                    "sha256:8caf5ec35b8fca58b289fe52b2ad45a4e0122ae5d223d6b6042500f90443ef8f",
                    "sha256:56726d20458fd83186f89f52500bf1ce1f11427730f173ce95540330801d1896",
                    "sha256:e0c58004a1e67b2be5b0962cacfca204071b91fdf5dd859a6a1a3ac326481f06",
                    "sha256:8afe41d4973e978b38db6f8aa8a40fdfc0f222903ef22763ec296f842a8e10b8",
                    "sha256:4b17dac208b84a38dfc6538e843f5b3a1aa636380ee28651766660f452114e1c"
               ]
          },

For more complicated images I may even expect some of the ids to match up with intermediate images seen in podman image list --all (I realize that may be a different layer type than the rootfs layers, I just mean that might be expected based on the tree command description).

podman info output

# podman info
host:
  arch: amd64
  buildahVersion: 1.36.0
  cgroupControllers: []
  cgroupManager: cgroupfs
  cgroupVersion: v2
  conmon:
    package: conmon-2.1.10-1.fc40.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.1.10, commit: '
  cpuUtilization:
    idlePercent: 99.29
    systemPercent: 0.24
    userPercent: 0.48
  cpus: 32
  databaseBackend: sqlite
  distribution:
    distribution: fedora
    variant: container
    version: "40"
  eventLogger: file
  freeLocks: 2048
  hostname: cbbbc8685c31
  idMappings:
    gidmap: null
    uidmap: null
  kernel: 6.5.0-44-generic
  linkmode: dynamic
  logDriver: k8s-file
  memFree: 19870294016
  memTotal: 33578393600
  networkBackend: netavark
  networkBackendInfo:
    backend: netavark
    dns:
      package: aardvark-dns-1.11.0-1.fc40.x86_64
      path: /usr/libexec/podman/aardvark-dns
      version: aardvark-dns 1.11.0
    package: netavark-1.11.0-1.fc40.x86_64
    path: /usr/libexec/podman/netavark
    version: netavark 1.11.0
  ociRuntime:
    name: crun
    package: crun-1.15-1.fc40.x86_64
    path: /usr/bin/crun
    version: |-
      crun version 1.15
      commit: e6eacaf4034e84185fd8780ac9262bbf57082278
      rundir: /run/crun
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL
  os: linux
  pasta:
    executable: /usr/bin/pasta
    package: passt-0^20240624.g1ee2eca-1.fc40.x86_64
    version: |
      pasta 0^20240624.g1ee2eca-1.fc40.x86_64
      Copyright Red Hat
      GNU General Public License, version 2 or later
        <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
  remoteSocket:
    exists: false
    path: /run/podman/podman.sock
  rootlessNetworkCmd: pasta
  security:
    apparmorEnabled: false
    capabilities: 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: false
    seccompEnabled: true
    seccompProfilePath: /usr/share/containers/seccomp.json
    selinuxEnabled: false
  serviceIsRemote: false
  slirp4netns:
    executable: ""
    package: ""
    version: ""
  swapFree: 2147479552
  swapTotal: 2147479552
  uptime: 3h 33m 6.00s (Approximately 0.12 days)
  variant: ""
plugins:
  authorization: null
  log:
  - k8s-file
  - none
  - passthrough
  - journald
  network:
  - bridge
  - macvlan
  - ipvlan
  volume:
  - local
registries:
  search:
  - registry.fedoraproject.org
  - registry.access.redhat.com
  - docker.io
store:
  configFile: /etc/containers/storage.conf
  containerStore:
    number: 0
    paused: 0
    running: 0
    stopped: 0
  graphDriverName: overlay
  graphOptions:
    overlay.imagestore: /usr/lib/containers/storage
    overlay.mount_program:
      Executable: /usr/bin/fuse-overlayfs
      Package: fuse-overlayfs-1.13-1.fc40.x86_64
      Version: |-
        fusermount3 version: 3.16.2
        fuse-overlayfs: version 1.13-dev
        FUSE library version 3.16.2
        using FUSE kernel interface version 7.38
    overlay.mountopt: nodev,fsync=0
  graphRoot: /var/lib/containers/storage
  graphRootAllocated: 314419200000
  graphRootUsed: 212871794688
  graphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Supports shifting: "true"
    Supports volatile: "true"
    Using metacopy: "false"
  imageCopyTmpDir: /var/tmp
  imageStore:
    number: 1
  runRoot: /run/containers/storage
  transientStore: false
  volumePath: /var/lib/containers/storage/volumes
version:
  APIVersion: 5.1.1
  Built: 1717459200
  BuiltTime: Tue Jun  4 00:00:00 2024
  GitCommit: ""
  GoVersion: go1.22.3
  Os: linux
  OsArch: linux/amd64
  Version: 5.1.1

Podman in a container

Yes

Privileged Or Rootless

Rootless

Upstream Latest Release

Yes

Additional environment details

I am testing this with the latest podman from quay.io/podman/stable

Additional information

Additional information like issue happens only occasionally or issue happens with a particular architecture or on a particular setting

computator commented 1 month ago

I was looking into something else and came up with this command that has a similar idea to how I would have expected the tree subcommand to work:

podman image list --all --format '{{.Repository}},{{.Tag}},{{.ID}},{{printf "%.12s" .ParentId}},{{.Created}},{{.Size}}' \
  | column -s , --tree-id 3 --tree-parent 4 --tree 3 -N 'REPOSITORY,TAG,IMAGE ID,PARENT,CREATED,SIZE' -H PARENT

A subset of the output of this on my computer looks like this:

REPOSITORY                      TAG             IMAGE ID                   CREATED        SIZE
trimmed...
quay.io/fedora/fedora-coreos    stable          c78efe0a5f79               4 weeks ago    1.44 GB
<none>                          <none>          ├─3b5c5033dab3             2 weeks ago    1.44 GB
<none>                          <none>          │ └─729ebbbd116d           2 weeks ago    1.44 GB
<none>                          <none>          ├─993218797d64             3 weeks ago    1.44 GB
<none>                          <none>          │ ├─d36640817651           3 weeks ago    1.44 GB
<none>                          <none>          │ └─4fb30dfc2c4f           3 weeks ago    1.44 GB
<none>                          <none>          └─bb961bb35394             3 weeks ago    1.44 GB
<none>                          <none>            ├─74fb969c6753           2 weeks ago    1.44 GB
<none>                          <none>            │ └─429c6b888d2a         2 weeks ago    1.55 GB
<none>                          <none>            │   └─858ffdc3763b       7 days ago     1.55 GB
localhost/fcos-zfs              latest            │     └─12e3478fa432     7 days ago     1.55 GB
trimmed...

I realize this is images, not layers, but it still shows the general idea.

github-actions[bot] commented 3 weeks ago

A friendly reminder that this issue had no activity for 30 days.