explaingit

containers/skopeo

10,859GoAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TLDR

Command-line tool for inspecting and copying container images between registries without downloading or running them. Works without root access, no Docker daemon required.

Mindmap

mindmap
  root((skopeo))
    What it does
      Inspect images
      Copy images
      Delete tags
      Sync repos
    No requirements
      No Docker daemon
      No root access
      No download needed
    Registries
      Docker Hub Quay
      GCR Artifactory
      Private registries
    Formats
      Docker format
      OCI format
      Local folders
    Audience
      DevOps engineers
      Platform teams
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Inspect a remote Docker Hub image to check its tags and size before pulling it to your server.

USE CASE 2

Mirror container images from a public registry into your private internal registry for air-gapped deployments.

USE CASE 3

Copy an image from Docker format to OCI format, or move it between cloud providers, without pulling it to disk first.

Tech stack

Go

Getting it running

Difficulty · moderate Time to first run · 30min

Available via package managers on most Linux distros. Working with private registries requires running skopeo login first.

Use freely for any purpose including commercial, Apache 2.0 license.

In plain English

Skopeo is a command-line tool for working with container images and the registries that store them. A container image is a packaged snapshot of an application and everything it needs to run, used by tools like Docker and Podman. Skopeo lets you manage these images without needing to download or run them first, and without requiring administrator (root) access or a background service running on your machine. The most common operation is inspecting a remote image before you commit to downloading it. Skopeo can fetch an image manifest from any registry, showing you details like available version tags, creation date, the operating system it targets, labels set by the maintainer, and the list of layers that make up the image. This is useful when you want to check what you are about to pull without using disk space first. Skopeo can copy container images between different storage locations: from one registry to another, from a registry to a local folder, from Docker format to OCI format, or between other combinations. This makes it practical for mirroring images into a private internal registry, moving images between cloud providers, or preparing images for environments that have no internet access (sometimes called air-gapped deployments). Other operations include deleting images from a registry, syncing an entire external repository to an internal one, and authenticating with private registries using credentials from skopeo login or from existing Docker or Podman login sessions. Skopeo works with standard Docker Hub, Quay.io, OpenShift, GCR, Artifactory, and any registry that implements the Docker Registry API v2. It also works with local image stores used by Podman, CRI-O, and Buildah. The project is written in Go and is licensed under Apache 2.0.

Copy-paste prompts

Prompt 1
I want to inspect a remote container image on Docker Hub to see its available tags and creation date without pulling it. Show me the skopeo command.
Prompt 2
How do I use skopeo to copy an image from Docker Hub into my private Harbor registry?
Prompt 3
I need to mirror a whole repository of container images to an internal registry for an air-gapped environment. What skopeo sync command should I use?
Prompt 4
How do I delete a specific tag from a remote container registry using skopeo?
Open on GitHub → Explain another repo

← containers on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.