首页 > 解决方案 > 是否有正确的方法使用 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 命令时,似乎没有下载/上传容器“属性”文件。

有人有想法吗?

谢谢

标签: dockerartifactoryjfrog-cli

解决方案


如果您有 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]

最后还有系统/存储库导出/导入,可以满足您的需要。


推荐阅读