Redhat容器工具集之 - Skopeo
- 所属概念?远程镜像管理工具
- 概念的目的?查看,复制,生成远程的镜像
- 工具是如何实现所属概念的?使用非root用户管理镜像。无需下载镜像到本地电脑
- Skopeo背景
- Skopeo常用命令锦集
- Skopeo支持的镜像格式
- 镜像格式的使用方法
本文是Redhat容器工具集系列的Skopeo篇。我们在Redhat容器工具集中介绍了工具集的内容,开发它们的目的已经工具之间的关系。没有看过的家人们可以先去那里了解下背景。
Skopeo背景
Skopeo的主要作用是管理本地和在远程数据库中的镜像(quay.io,dockerHub)。Skopeo的优点包括但不限于以下几点:
- 支持不同的镜像格式(containers-storage, dir, docker, docker-archive, docker-daemon, oci, oci-archive, Ostsee, tarball)
- 不需要root权限
- 不一定要下载镜像到本地。比如
- 从quay.io拷贝一个镜像到dockerHub
- 查看在quay.io中某个镜像的信息
Skopeo常用命令锦集
| Command | Description |
|---|---|
| skopeo copy docker://quay.io/skopeo/stable:latest docker://registry.example.com/skopeo:latest | 将镜像从quay.io复制registry.example.com --src-creds USERNAME[:PASSWORD] 源注册表的用户密码 --dest-creds USERNAME[:PASSWORD] 目标注册表的用户密码 |
| skopeo delete docker://registry.example.com/example/pause:latest | 删除镜像 |
| skopeo help ... | 查看某命令的帮助 |
| skopeo inspect --config docker://docker.io/alpine | 检查镜像docker.io/alpine的配制信息 |
| skopeo list-tags docker://docker.io/alpine | 列出镜像docker.io/alpine的标签 |
| skopeo login quay.io | 登录到镜像数据库quay.io |
| skopeo logout quay.io | 登出镜像数据库quay.io |
| skopeo manifest-digest manifest.json | 计算manifest.json文件的清单摘要 |
| skopeo standalone-sign ... | 使用本地文件创建签名 |
| skopeo standalone-verify ... | 使用本地文件验证签名 |
| skopeo sync --src docker --dest dir registry.example.com/busybox /media/usb | 将镜像从远程数据库registry.example.com/busybox同步到本地文件夹/media/usb。 --src指定来源镜像格式 --dest指定目标镜像格式 |
Skopeo支持的镜像格式
Skopeo支持下面这些镜像格式。
- containers-storage: 本地的镜像。可以由podman images列出来的那些
- dir:本地文件路径
- docker: 远程数据库的镜像
- 默认情况下,对远程数据库(比如 quay.io)的访问密码在生成之后( podman login quay.io会自动加密并保存你的用户名和密码),会自动保存在 ${XDG_RUNTIME_DIR}/containers/auth.json - 注册身份验证令牌:https://www.mankier.com/5/containers-auth.json
- docker-archive:镜像存档。由 docker save 生成
- docker-daemon:存储在 docker daemon 中的镜像
- oci:文件路径中符合“Open Container Image Layout Specification”的目录中的图像标签。
- oci-archive:比如image.tar.gz
- Ostsee:
- tarball:
镜像格式的使用方法
一般放在镜像前面,比如:
skopeo copy container-storage:xxx docker:yyy
其中指定xxx的格式是containers-storage,而yyy的格式是docker。



