[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82200":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},82200,"skopeo","podman-container-tools\u002Fskopeo","podman-container-tools","Work with remote images registries - retrieving information, images, signing content","",null,"Go",10971,931,98,53,0,9,31,51,36,107.51,"Apache License 2.0",false,"main",[],"2026-06-12 04:01:37","\u003Cp align=\"center\">\n   \u003Cimg src=\"https:\u002F\u002Fcdn.rawgit.com\u002Fcontainers\u002Fskopeo\u002Fmain\u002Fdocs\u002Fskopeo.svg\" width=\"250\" alt=\"Skopeo\">\n\u003C\u002Fp>\n\n----\n![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)\n![GitHub release (latest SemVer)](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fcontainers\u002Fskopeo)\n[![OpenSSF Best Practices](https:\u002F\u002Fwww.bestpractices.dev\u002Fprojects\u002F10516\u002Fbadge)](https:\u002F\u002Fwww.bestpractices.dev\u002Fprojects\u002F10516)\n\n`skopeo` is a command line utility that performs various operations on container images and image repositories.\n\n`skopeo` does not require the user to be running as root to do most of its operations.\n\n`skopeo` does not require a daemon to be running to perform its operations.\n\n`skopeo` can work with [OCI images](https:\u002F\u002Fgithub.com\u002Fopencontainers\u002Fimage-spec) as well as the original Docker v2 images.\n\nSkopeo works with API V2 container image registries such as [docker.io](https:\u002F\u002Fdocker.io) and [quay.io](https:\u002F\u002Fquay.io) registries, private registries, local directories and local OCI-layout directories. Skopeo can perform operations which consist of:\n\n * Copying an image from and to various storage mechanisms.\n   For example you can copy images from one registry to another, without requiring privilege.\n * Inspecting a remote image showing its properties including its layers, without requiring you to pull the image to the host.\n * Deleting an image from an image repository.\n * Syncing an external image repository to an internal registry for air-gapped deployments.\n * When required by the repository, skopeo can pass the appropriate credentials and certificates for authentication.\n\n Skopeo operates on the following image and repository types:\n\n * containers-storage:docker-reference\n         An image located in a local containers\u002Fstorage image store.  Both the location and image store are specified in \u002Fetc\u002Fcontainers\u002Fstorage.conf. (This is  the backend for [Podman](https:\u002F\u002Fpodman.io), [CRI-O](https:\u002F\u002Fcri-o.io), [Buildah](https:\u002F\u002Fbuildah.io) and friends)\n\n * dir:path\n         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.\n\n * docker:\u002F\u002Fdocker-reference\n         An image in a registry implementing the \"Docker Registry HTTP API V2\". By default, uses the authorization state in `$XDG_RUNTIME_DIR\u002Fcontainers\u002Fauth.json`, which is set using `skopeo login`.\n\n * docker-archive:path[:docker-reference]\n         An image is stored in a `docker save`-formatted file.  docker-reference is only used when creating such a file, and it must not contain a digest.\n\n * docker-daemon:docker-reference\n         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).\n\n * oci:path:tag\n         An image tag in a directory compliant with \"Open Container Image Layout Specification\" at path.\n\n[Obtaining skopeo](.\u002Finstall.md)\n-\n\nFor a detailed description how to install or build skopeo, see\n[install.md](.\u002Finstall.md).\n\nSkopeo is also available as a Container Image on [quay.io](https:\u002F\u002Fquay.io\u002Fskopeo\u002Fstable).  For more information, see the [Skopeo Image](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fimage_build\u002Fblob\u002Fmain\u002Fskopeo\u002FREADME.md) page.\n\n## Inspecting a repository\n`skopeo` is able to _inspect_ a repository on a container registry and fetch images layers.\nThe _inspect_ command fetches the repository's manifest and it is able to show you a `docker inspect`-like\njson output about a whole repository or a tag. This tool, in contrast to `docker inspect`, helps you gather useful information about\na repository or a tag before pulling it (using disk space).  The inspect command can show you which tags are available for the given \nrepository, the labels the image has, the creation date and operating system of the image and more.  \n\nExamples:\n\n#### Show properties of fedora:latest\n```console\n$ skopeo inspect docker:\u002F\u002Fregistry.fedoraproject.org\u002Ffedora:latest\n{\n    \"Name\": \"registry.fedoraproject.org\u002Ffedora\",\n    \"Digest\": \"sha256:0f65bee641e821f8118acafb44c2f8fe30c2fc6b9a2b3729c0660376391aa117\",\n    \"RepoTags\": [\n        \"34-aarch64\",\n        \"34\",\n        \"latest\",\n        ...\n    ],\n    \"Created\": \"2022-11-24T13:54:18Z\",\n    \"DockerVersion\": \"1.10.1\",\n    \"Labels\": {\n        \"license\": \"MIT\",\n        \"name\": \"fedora\",\n        \"vendor\": \"Fedora Project\",\n        \"version\": \"37\"\n    },\n    \"Architecture\": \"amd64\",\n    \"Os\": \"linux\",\n    \"Layers\": [\n        \"sha256:2a0fc6bf62e155737f0ace6142ee686f3c471c1aab4241dc3128904db46288f0\"\n    ],\n    \"LayersData\": [\n        {\n            \"MIMEType\": \"application\u002Fvnd.docker.image.rootfs.diff.tar.gzip\",\n            \"Digest\": \"sha256:2a0fc6bf62e155737f0ace6142ee686f3c471c1aab4241dc3128904db46288f0\",\n            \"Size\": 71355009,\n            \"Annotations\": null\n        }\n    ],\n    \"Env\": [\n        \"DISTTAG=f37container\",\n        \"FGC=f37\",\n        \"container=oci\"\n    ]\n}\n```\n\n#### Show container configuration from `fedora:latest`\n\n```console\n$ skopeo inspect --config docker:\u002F\u002Fregistry.fedoraproject.org\u002Ffedora:latest  | jq\n{\n  \"created\": \"2020-04-29T06:48:16Z\",\n  \"architecture\": \"amd64\",\n  \"os\": \"linux\",\n  \"config\": {\n    \"Env\": [\n      \"DISTTAG=f32container\",\n      \"FGC=f32\",\n      \"container=oci\"\n    ],\n    \"Cmd\": [\n      \"\u002Fbin\u002Fbash\"\n    ],\n    \"Labels\": {\n      \"license\": \"MIT\",\n      \"name\": \"fedora\",\n      \"vendor\": \"Fedora Project\",\n      \"version\": \"32\"\n    }\n  },\n  \"rootfs\": {\n    \"type\": \"layers\",\n    \"diff_ids\": [\n      \"sha256:a4c0fa2b217d3fd63d51e55a6fd59432e543d499c0df2b1acd48fbe424f2ddd1\"\n    ]\n  },\n  \"history\": [\n    {\n      \"created\": \"2020-04-29T06:48:16Z\",\n      \"comment\": \"Created by Image Factory\"\n    }\n  ]\n}\n```\n#### Show unverified image's digest\n```console\n$ skopeo inspect docker:\u002F\u002Fregistry.fedoraproject.org\u002Ffedora:latest | jq '.Digest'\n\"sha256:655721ff613ee766a4126cb5e0d5ae81598e1b0c3bcf7017c36c4d72cb092fe9\"\n```\n\n## Copying images\n\n`skopeo` can copy container images between various storage mechanisms, including:\n* Container registries\n\n  -  The Quay, Docker Hub, OpenShift, GCR, Artifactory ...\n\n* Container Storage backends\n\n  -  [github.com\u002Fcontainers\u002Fstorage](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fstorage) (Backend for [Podman](https:\u002F\u002Fpodman.io), [CRI-O](https:\u002F\u002Fcri-o.io), [Buildah](https:\u002F\u002Fbuildah.io) and friends)\n\n  -  Docker daemon storage\n\n* Local directories\n\n* Local OCI-layout directories\n\n```console\n$ skopeo copy docker:\u002F\u002Fquay.io\u002Fbuildah\u002Fstable docker:\u002F\u002Fregistry.internal.company.com\u002Fbuildah\n$ skopeo copy oci:busybox_ocilayout:latest dir:existingemptydirectory\n```\n\n## Deleting images\n```console\n$ skopeo delete docker:\u002F\u002Flocalhost:5000\u002Fimagename:latest\n```\n\n## Syncing registries\n```console\n$ skopeo sync --src docker --dest dir registry.example.com\u002Fbusybox \u002Fmedia\u002Fusb\n```\n\n## Authenticating to a registry\n\n#### Private registries with authentication\nskopeo uses credentials from the --creds (for skopeo inspect|delete) or --src-creds|--dest-creds (for skopeo copy) flags, if set; otherwise it uses configuration set by skopeo login, podman login, buildah login, or docker login.\n\n```console\n$ skopeo login --username USER myregistrydomain.com:5000\nPassword:\n$ skopeo inspect docker:\u002F\u002Fmyregistrydomain.com:5000\u002Fbusybox\n{\"Tag\":\"latest\",\"Digest\":\"sha256:473bb2189d7b913ed7187a33d11e743fdc2f88931122a44d91a301b64419f092\",\"RepoTags\":[\"latest\"],\"Comment\":\"\",\"Created\":\"2016-01-15T18:06:41.282540103Z\",\"ContainerConfig\":{\"Hostname\":\"aded96b43f48\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":[\"\u002Fbin\u002Fsh\",\"-c\",\"#(nop) CMD [\\\"sh\\\"]\"],\"Image\":\"9e77fef7a1c9f989988c06620dabc4020c607885b959a2cbd7c2283c91da3e33\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":null},\"DockerVersion\":\"1.8.3\",\"Author\":\"\",\"Config\":{\"Hostname\":\"aded96b43f48\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":[\"sh\"],\"Image\":\"9e77fef7a1c9f989988c06620dabc4020c607885b959a2cbd7c2283c91da3e33\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":null},\"Architecture\":\"amd64\",\"Os\":\"linux\"}\n$ skopeo logout myregistrydomain.com:5000\n```\n\n#### Using --creds directly\n\n```console\n$ skopeo inspect --creds=testuser:testpassword docker:\u002F\u002Fmyregistrydomain.com:5000\u002Fbusybox\n{\"Tag\":\"latest\",\"Digest\":\"sha256:473bb2189d7b913ed7187a33d11e743fdc2f88931122a44d91a301b64419f092\",\"RepoTags\":[\"latest\"],\"Comment\":\"\",\"Created\":\"2016-01-15T18:06:41.282540103Z\",\"ContainerConfig\":{\"Hostname\":\"aded96b43f48\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":[\"\u002Fbin\u002Fsh\",\"-c\",\"#(nop) CMD [\\\"sh\\\"]\"],\"Image\":\"9e77fef7a1c9f989988c06620dabc4020c607885b959a2cbd7c2283c91da3e33\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":null},\"DockerVersion\":\"1.8.3\",\"Author\":\"\",\"Config\":{\"Hostname\":\"aded96b43f48\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":[\"sh\"],\"Image\":\"9e77fef7a1c9f989988c06620dabc4020c607885b959a2cbd7c2283c91da3e33\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":null},\"Architecture\":\"amd64\",\"Os\":\"linux\"}\n```\n\n```console\n$ skopeo copy --src-creds=testuser:testpassword docker:\u002F\u002Fmyregistrydomain.com:5000\u002Fprivate oci:local_oci_image\n```\n\nContributing\n-\n\nPlease read the [contribution guide](CONTRIBUTING.md) if you want to collaborate in the project.\n\n## Commands\n| Command                                            | Description                                                                                  |\n| -------------------------------------------------- | ---------------------------------------------------------------------------------------------|\n| [skopeo-copy(1)](\u002Fdocs\u002Fskopeo-copy.1.md)           | Copy an image (manifest, filesystem layers, signatures) from one location to another.        |\n| [skopeo-delete(1)](\u002Fdocs\u002Fskopeo-delete.1.md)       | Mark the image-name for later deletion by the registry's garbage collector.                                                                |\n| [skopeo-generate-sigstore-key(1)](\u002Fdocs\u002Fskopeo-generate-sigstore-key.1.md)    | Generate a sigstore public\u002Fprivate key pair.  |\n| [skopeo-inspect(1)](\u002Fdocs\u002Fskopeo-inspect.1.md)     | Return  low-level  information about image-name in a registry.                                |\n| [skopeo-list-tags(1)](\u002Fdocs\u002Fskopeo-list-tags.1.md) | Return a list of tags for the transport-specific image repository.                               |\n| [skopeo-login(1)](\u002Fdocs\u002Fskopeo-login.1.md)         | Login to a container registry.                                                               |\n| [skopeo-logout(1)](\u002Fdocs\u002Fskopeo-logout.1.md)       | Logout of a container registry.                                                              |\n| [skopeo-manifest-digest(1)](\u002Fdocs\u002Fskopeo-manifest-digest.1.md)    | Compute a manifest digest for a manifest-file and write it to standard output.   |\n| [skopeo-standalone-sign(1)](\u002Fdocs\u002Fskopeo-standalone-sign.1.md)    | Debugging tool - Sign an image locally without uploading.                     |\n| [skopeo-standalone-verify(1)](\u002Fdocs\u002Fskopeo-standalone-verify.1.md)| Debugging tool - Verify an image signature from local files.                  |\n| [skopeo-sync(1)](\u002Fdocs\u002Fskopeo-sync.1.md)           | Synchronize images between registry repositories and local directories.                      |\n\nLicense\n-\nskopeo is licensed under the Apache License, Version 2.0. See\n[LICENSE](LICENSE) for the full license text.\n","Skopeo 是一个命令行工具，用于对容器镜像和镜像仓库执行各种操作。它支持远程镜像注册表的信息检索、镜像获取及内容签名等功能。主要技术特点包括无需以 root 用户身份运行即可完成大部分操作，且不需要守护进程支持。Skopeo 支持 OCI 标准镜像以及 Docker v2 镜像格式，并能与 API V2 容器镜像注册表（如 docker.io 和 quay.io）及私有注册表交互。其核心功能涵盖了镜像在不同存储机制间的复制、远程镜像属性的查看、镜像删除以及外部镜像仓库同步至内部注册表等，适用于需要进行镜像管理和迁移的场景，特别适合于无网络环境下的部署需求。",2,"2026-06-11 04:08:05","top_language"]