Skip to content

Inspecting images with Skopeo ​

Current behavior ​

Note: With hpn pull --runtime skopeo, images are written to a temporary directory that is removed when the command finishes, so you cannot inspect them afterward. Use hpn save --runtime skopeo to persist images.

How Skopeo stores images ​

Skopeo is daemonless. It does not keep an image store like Docker or Podman. The copy command fetches an image and writes it to a chosen destination.

Supported destination types ​

  1. dir: — Directory (OCI layout)
  2. docker-archive: — Docker archive (tar file)
  3. docker-daemon: — Docker daemon
  4. containers-storage: — Podman/CRI-O storage
  5. oci: — OCI image layout
  6. ostree: — OSTree storage

Inspecting images ​

Method 1: skopeo inspect (metadata) ​

Remote (registry) ​

bash
skopeo inspect docker://docker.io/library/nginx:latest
skopeo inspect --override-arch amd64 docker://docker.io/library/nginx:latest

Local directory (dir:) ​

bash
skopeo inspect dir:/path/to/image-dir
skopeo inspect dir:/tmp/skopeo-pull-nginx_latest

Docker daemon ​

bash
skopeo inspect docker-daemon:nginx:latest
docker images | grep nginx

Archive (tar file) ​

bash
skopeo inspect docker-archive:/path/to/image.tar
skopeo inspect docker-archive:./images/nginx_latest.tar

Method 2: skopeo list-tags ​

bash
skopeo list-tags docker://docker.io/library/nginx
skopeo list-tags docker://registry.example.com/myproject/myapp

Limitation of hpn pull --runtime skopeo ​

Current implementation:

  • Writes to a temp dir /tmp/skopeo-pull-*
  • Removes that dir when the function returns

So you cannot inspect or reuse the image after pull. To persist images, use hpn save --runtime skopeo (or run skopeo copy yourself to a dir: or docker-archive: path).

Best practices ​

  1. Use hpn save to persist: hpn save --runtime skopeo -f images.txt --path ./images
  2. Inspect archives: skopeo inspect docker-archive:./images/nginx-latest.tar
  3. Import to Docker/Podman when needed: skopeo copy dir:./images/nginx-latest docker-daemon:nginx:latest
  4. Load with hpn: hpn load --path ./images

See Also ​