首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头图像的Skopeo工具.调整标签

码头图像的Skopeo工具.调整标签
EN

Stack Overflow用户
提问于 2020-01-09 11:47:40
回答 1查看 1.4K关注 0票数 0

我正在linux机器上使用Skopeo工具下载一个docker映像-工作成功。

代码语言:javascript
复制
skopeo copy --src-creds uname:pwd docker://url/image:tag dir:/home/image

我正在试图改变这个图像的标签。目前,图像标签是“最新”,需要更改为“新”。

有没有办法使用skopeo工具,我们可以重新标记这个图像,然后用一个新标签上传到注册表。

请注意: Docker不允许安装在linux机器上,因为它需要root用户,这对于我们的项目是未经授权的。

我正在尝试下面的活动顺序

  1. 从存储库下载带有标记“最新”的映像-工作
  2. 将图像标记更改为“新建”,并将其上传回存储库工作。
  3. 下载带有新标签" new“的图像-失败时出错。

PFB按顺序顺序排列命令

代码语言:javascript
复制
skopeo copy --src-creds name:pwd docker://url/alpine:latest dir:/home/alpine

skopeo copy --dest-creds uname:pwd dir:/home/alpine docker://url/alpine:new 

skopeo copy --src-creds uname:pwd docker://url/alpine:new dir:./alpinenew
**FATA[0004] Error initializing source docker://url/alpine:new: Error reading manifest new in url/alpine: manifest unknown: manifest unknown**

如何修复此错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-09 12:16:08

你不需要“保留”图像。在将图像上载到远程存储库时设置标记。例如,要将图像上传为myusername/myimagename:sometag,我可以运行:

代码语言:javascript
复制
skopeo copy dir:/home/image docker://myusername/myimagename:sometag

为了说明这一点,我可以像下面这样下载alpine映像:

代码语言:javascript
复制
skopeo copy docker://alpine dir:./alpine

然后用不同的名称和标记将其上传到我自己的名称空间中,如下所示:

代码语言:javascript
复制
skopeo copy dir:alpine docker://larsks/alpinetest:foo

那个看上去很正常

然后,我可以下载新的映像来验证它是否有效:

代码语言:javascript
复制
$ skopeo copy docker://larsks/alpinetest:foo dir:./alpinetest
Getting image source signatures
Copying blob e6b0cf9c0882 done
Copying config cc0abc535e done
Writing manifest to image destination
Storing signatures

在这两个位置使用相同的图像名称可以很好地工作:

代码语言:javascript
复制
skopeo copy docker://larsks/alpinetest:foo dir:./alpinetest
skopeo copy dir:./alpinetest docker://larsks/alpinetest:bar

这个将新标记添加到图像中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59663308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档