docker - 是否有正确的方法使用 jfrog CLI 从 Artifactory 下载容器映像以进行 docker pull?
问题描述
我正在尝试在 Artifactory 实例之间传输容器。表演:
jfrog rt dl my-images-repo repository/ --url="http://localhost/artifactory" --user=user --password=pass --recursive
然后:
jfrog rt u repository/ new-images-repo --url="http://localhost/artifactory" --user=user --password=pass --flat=false
最后:
docker pull new-images-repo/my-image
产生:缺少签名密钥
但是,通过 GUI 执行相同的过程并导出文件夹然后重新导入它似乎可以很好地传输容器。对此进行调查,当我运行那些 jfrog rt u/dl 命令时,似乎没有下载/上传容器“属性”文件。
有人有想法吗?
谢谢
解决方案
如果您有 Artifactory Pro(或 SaaS、Enterprise、E+),那么您可以使用Repository Replication来实现将 Docker 镜像从一个实例传输到另一个实例
另一个问题是我们正在使用jfrog rt dl
并且jfrog rt u
它们都是通用的上传/下载命令,并且可能适用于其他 repo 类型。
Docker 有一个特定的 API,因此您需要使用 Docker 客户端或 JFrog CLI 的推/拉。
一般来说,您想要做的是:
docker pull SOURCE_IMAGE[:TAG]
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
docker push TARGET_IMAGE[:TAG]
最后还有系统/存储库导出/导入,可以满足您的需要。
推荐阅读
- firebase - 对于具有可变天数的事件,如何构建 Firestore 集合以查询每天的标签?
- node.js - 如何存储承诺的价值并在解决后使用它?
- javascript - Nodejs + Postgresql - 当重复或违反外键时,我如何处理插入多行查询
- laravel - 在特定时间后在 Laravel 中上传图像不会加载或显示在服务器上
- flutter-web - 共享偏好颤动网络问题
- javascript - 如何使用 Joi 为输入字段赋予 null 的初始值?
- android - android studio中的recyclerview项目事故(不良行为)
- ld - ld:禁止更改部分开始
- haskell - 我如何告诉阴谋集团在哪里可以找到亚历克斯和快乐,这样阴谋集团就不会试图建造它们?
- c# - 如何切片 ONNXRuntime 张量?