Skopeo is a tool for moving container images between different types of container storages. It allows you to copy container images between container registries like docker.io, quay.io, and your internal container registry or different types of storage on your local system. You can copy to a local container/storage repository, even directly into a Docker daemon.
One of the best things about Skopeo is you don’t have to be root to execute it, and you don’t need to store the images locally if you are just copying from one container registry to another. Skopeo does not require a daemon to be running to perform its operations. I believe it is a much better solution than having to run
podman pull IMAGE; podman push IMAGE.
Skopeo is being used all over the world to move container images. It is used in CI/CD systems to keep container registries up to date, as well as loading up container storage for all different kinds of container servers.
Skopeo operates on the following image and repository types:
An image in a registry implementing the “Docker Registry HTTP API V2”. docker://docker-reference. Authorization state is stored in
$XDG_RUNTIME_DIR/containers/auth.json, which is set using (skopeo login).
An image located in a local containers/storage image store. Location and image store specified in
Local file system
An existing local directory path storing the manifest, layer tarballs and signatures as individual files. This is a non-standardized format, primarily useful for debugging or noninvasive container inspection.
An image is stored in the docker save formatted file. docker-reference is only used when creating such a file, and it must not contain a digest.
An image docker-reference stored in the docker daemon internal storage. docker-reference must contain either a tag or a digest. Alternatively, when reading images, the format can also be docker-daemon:algo:digest (an image ID).
Local directory with OCI formatting
An image tag in a directory compliant with “Open Container Image Layout Specification” at path.
Inspecting a repository
Skopeo can copy container images between various storage mechanisms:
Deleting images from a registry
$ skopeo delete docker://localhost:5000/imagename:latest
Skopeo is a great lightweight tool to help users and administrators maintain their container image infrastructure. Although it has not received the attention that it probably deserves, Skopeo is a really terrific tool to have in your own toolbox.
The upstream release is now available, we expect to see Skopeo 1.0 in the Red Hat Enterprise Linux 8.3 release.
More Information here.