5.3. 使用 Skopeo 创建软件仓库
在某些情况下,podman
CLI 工具无法拉取某些工件类型,如 application/x-mlmodel
。尝试将 podman pull
与这个工件类型搭配使用会导致以下错误:
Error: parsing image configuration: unsupported image-specific operation on artifact with type "application/x-mlmodel"
另外,您可以使用 skopeo copy
将工件从一个位置复制到 Red Hat Quay 存储库。
先决条件
-
已安装
skopeo
CLI。 -
您已登录到源 registry (本例中为
\registry.redhat.io
),并具有有效的身份验证文件(~/.docker/config.json
)。另外,在使用skopeo
CLI 运行命令时,您可以使用--
参数提供凭证。src-username
和--src-password - 已登陆到 Red Hat Quay 存储库。
步骤
在工件上使用
skopeo copy
命令将工件复制到 Red Hat Quay 存储库。例如:$ sudo skopeo copy --dest-tls-verify=false --all \ 1 2 --src-username <source_username> --src-password <source_password> \ 3 --src-authfile ~/.docker/config.json \ 4 --dest-username <username> --dest-password <password> \ 5 docker://registry.redhat.io/rhelai1/granite-8b-code-instruct:1.4-1739210683 \ 6 docker://quay-server.example.com/<namespace>/granite-8b-code-instruct:latest 7
- 1
- 可选。
--dest-tls-verify=false
为目标 registry 禁用 SSL/TLS 验证。 - 2
- 可选。
--all
标志可以选择复制所有镜像清单,包括多架构镜像。 - 3
- 可选。如果没有登录到 registry,您可以使用这些参数传递源 registry 凭证。
- 4
- 可选。Docker 身份验证文件的路径。通常位于
~/.docker/config.json
。 - 5
- 您的 Red Hat Quay registry 用户名和密码。
- 6
- 来自红帽容器 registry 的源镜像或工件。确保您已登录到 registry,并可拉取镜像。
- 7
- 附加命名空间和镜像名称的 Red Hat Quay 存储库的 URL。
输出示例
Getting image source signatures Checking if image destination supports signatures Copying blob 9538fa2b8ad9 done | Copying blob 491ae95f59a2 done | Copying blob 01196d075d77 done | Copying blob e53a4633c992 done | Copying blob c266e9cfa731 done | Copying blob dae0e701d9b2 done | Copying blob 1e227a2c78d8 done | Copying blob 94ff9338861b done | Copying blob 2f2bba45146f done | Copying blob d3b4df07a0ce done | Copying blob f533a8dbb852 done | Copying config 44136fa355 done | Writing manifest to image destination Storing signatures
后续步骤
- 将机器学习工件推送到 Red Hat Quay 存储库后,您可以使用 UI 或 View 模型卡信息 查看标签 信息。