11.5. 使用容器 registry


您可以使用 Podman 和 Docker 从容器注册表获取内容,并将内容推送到 Satellite 容器注册表。Satellite registry 遵循开放容器项目(OCI)规范,因此您可以使用与应用到其他 registry 相同的方法将内容推送到 Satellite。有关 OCI 的更多信息,请参阅 开放容器项目分发规格

前提条件

  • 要将内容推送到 Satellite,请确保您的 Satellite 帐户具有 edit_products 权限。
  • 要从 Satellite 中拉取内容,请确保您的 Satellite 帐户具有 view_lifecycle_environmentsview_productsview_content_views 权限,除非生命周期环境允许未经身份验证的拉取。

Capsules 上的容器 registry

在带有内容的 Capsules 上,Container Gateway Capsule 插件充当容器 registry。它缓存来自 Katello 的身份验证信息,并将传入请求代理到 Pulp。默认情况下,容器网关在带有内容的 Capsules 上可用。

将内容推送到 Satellite 容器 registry 的注意事项

  • 您只能将内容推送到 Satellite 服务器本身。如果您需要在 Capsule 服务器上推送内容,请使用 Capsule 同步。
  • 推送的容器 registry 名称必须包含小写字符。
  • 除非在内容视图版本中发布推送的存储库,否则它们不会遵循 registry 名称模式。如需更多信息,请参阅 第 11.2 节 “管理容器名称模式”。这是为了确保用户可以从同一路径推送和拉取。
  • 需要从同一路径推送和拉取用户。如果使用基于标签的 schema,请使用标签进行拉取。如果使用基于 ID 的模式,请使用 ID 拉取。

流程

  • 登录到容器 registry:

    # podman login satellite.example.com
  • 列出容器镜像:

    # podman search satellite.example.com/
  • 拉取容器镜像:

    # podman pull satellite.example.com/my-image:<optional_tag>
  • 将容器镜像推送到 Satellite 容器 registry:

    • 要指示容器镜像所属的机构、产品和存储库,请在容器 registry 名称中包含机构和产品。
    • 您可以使用以下模式之一解决容器目的地:

      $ podman push My_Container_Image_Hash satellite.example.com/My_Organization_Label/My_Product_Label/My_Repository_Name[:_My_Tag_]
      $ podman push My_Container_Image_Hash satellite.example.com/id/My_Organization_ID/My_Product_ID/My_Repository_Name[:_My_Tag_]
    • 内容推送完成后,会在 Satellite 中创建存储库。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.