5.3. Red Hat Quay 软件仓库概述


存储库为存储一组相关容器镜像提供了一个中央位置。这些镜像可用于以标准化格式构建应用程序及其依赖项。

存储库按命名空间进行组织。每个命名空间可以有多个存储库。例如,您可能具有个人项目的命名空间、一个用于公司的命名空间,或者对于您机构中的特定团队有一个命名空间。

通过付费计划,Quay.io 为用户提供其存储库的访问控制。用户可以将存储库变为公共存储库,即任何人都可以从存储库拉取或下载、镜像,或者用户可以使其私有,限制对授权用户或团队的访问权限。

注意

Quay.io 的空闲层不允许私有存储库。您必须升级到 Quay.io 的已支付层,以创建私有存储库。如需更多信息,请参阅"有关 Quay.io 定价的信息"。

在 Quay.io 中创建存储库的方法有两种:使用相关 podman 命令推送镜像,或使用 Quay.io UI。您还可以使用 UI 删除存储库。

如果您在 UI 上不先通过命令行界面(CLI)推送镜像,则不会将创建的存储库设置为 Private,无论您拥有的计划是什么。

注意

建议您在推送镜像前在 Quay.io UI 上创建存储库。Quay.io 检查计划状态,如果计划未激活,则不允许创建私有存储库。

5.3.1. 使用 UI 创建存储库

使用以下步骤使用 Quay.io UI 创建存储库。

流程

使用以下步骤使用 v2 UI 创建存储库。

流程

  1. 单击导航窗格上的 Repositories
  2. 单击 Create Repository
  3. 选择一个命名空间,如 quayadmin,然后输入 Repository name,如 testrepo

    重要

    不要在存储库名称中使用以下词语:* build * trigger * tag

    当这些词语用于存储库名称时,用户无法访问存储库,且无法永久删除存储库。尝试删除这些仓库会返回以下错误: Failed to delete repository <repository_name>, HTTP404 - Not Found。

  4. Create

    现在,您的 example 存储库应该在 Repositories 页面中填充。

  5. 可选。点 Settings Repository visibility Make private 将存储库设置为私有。

5.3.2. 使用 Podman 创建软件仓库

使用正确的凭证,您可以使用 Quay.io 实例中尚不存在的 Podman 将镜像推送到 存储库。推送镜像指的是将容器镜像从本地系统或开发环境上传到容器 registry (如 Quay.io)的过程。将镜像推送到 registry 后,会创建一个存储库。

如果您在 UI 上不先通过命令行界面(CLI)推送镜像,则不会将创建的存储库设置为 Private,无论您拥有的计划是什么。

注意

建议您在推送镜像前在 Quay.io UI 上创建存储库。Quay.io 检查计划状态,如果计划未激活,则不允许创建私有存储库。

使用以下步骤通过推送镜像来创建镜像存储库。

先决条件

  • 您已下载并安装 podman CLI。
  • 已登录到 registry。
  • 您已拉取了镜像,如 busybox。

流程

  1. 从示例 registry 中拉取示例页面。例如:

    $ podman pull busybox

    输出示例

    Trying to pull docker.io/library/busybox...
    Getting image source signatures
    Copying blob 4c892f00285e done
    Copying config 22667f5368 done
    Writing manifest to image destination
    Storing signatures
    22667f53682a2920948d19c7133ab1c9c3f745805c14125859d20cede07f11f9

  2. 使用新存储库和镜像名称标记本地系统上的镜像。例如:

    $ podman tag docker.io/library/busybox quay.io/quayadmin/busybox:test
  3. 将镜像推送到 registry。在这一步后,您可以使用浏览器在存储库中查看标记的镜像。

    $ podman push --tls-verify=false quay.io/quayadmin/busybox:test

    输出示例

    Getting image source signatures
    Copying blob 6b245f040973 done
    Copying config 22667f5368 done
    Writing manifest to image destination
    Storing signatures

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.