whatisgithub

What is skopeo?

containers/skopeo — explained in plain English

Analysis updated 2026-06-24

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

In one sentence

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

What do people build with it?

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.

What is it built with?

Go

How does it compare?

containers/skopeodtm-labs/dtmhashicorp/terraform-provider-aws
Stars10,85910,87310,874
LanguageGoGoGo
Setup difficultymoderatehardmoderate
Complexity3/54/53/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get 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.

So what is it?

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?

Frequently asked questions

What is skopeo?

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

What language is skopeo written in?

Mainly Go. The stack also includes Go.

What license does skopeo use?

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

How hard is skopeo to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is skopeo for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.