跳至主要内容

设置容器注册表

开始之前

在开始之前,您应该

  • 获取容器注册表的身份验证详细信息
    • 注册表 URL。
    • 用户名。
    • 密码或 OAuth 密钥。
  • 获取存储在您的注册表中的私有镜像的完全限定名称,例如 `my-registry.tld/my-repository/my-image`。
  • 获取您的注册表要求推送镜像的完全限定镜像名称,例如 `my-registry.tld/my-repository/my-image`。

设置预配置的注册表

为了便于使用最流行的容器注册表,Podman 桌面预配置了注册表,包括

  • Docker Hub
  • Red Hat Quay
  • GitHub
  • Google Container Registry

如果您的容器注册表在该列表中,请按照以下步骤操作

  1. 转到 设置 > 注册表

  2. 在您的注册表行中,单击 配置

  3. 输入您的注册表凭据

    Authenticating to a pre-configured registry

    1. 用户名:输入您的用户名。
    2. 密码:输入您的密码或 OAuth 密钥。
    3. 单击 登录

Podman 桌面使用提供的凭据登录 Podman。

如果输入的凭据错误,您将看到错误消息

  1. 输入正确的凭据
  2. 再次单击 登录

设置自定义注册表

如果您有一个自定义容器注册表,或者一个不在预配置列表中的注册表:我们已为您提供解决方案。请按照以下步骤操作

  1. 转到 设置 > 注册表

  2. 单击屏幕右上角的 添加注册表

  3. 输入您的注册表详细信息

    Adding a custom registry

    1. 注册表位置:输入您的存储库 URL,例如 `https://myregistry.tld`。
    2. 用户名:输入您的用户名。
    3. 密码:输入您的密码或 OAuth 密钥。
    4. 单击 登录

Podman 桌面使用提供的凭据登录 Podman。

如果输入的凭据错误,您将看到错误消息

  1. 输入正确的凭据
  2. 再次单击 登录

设置具有不安全证书的注册表

如果您的注册表具有不安全证书,例如自签名证书,您在设置注册表时会看到警告。

  1. 无效证书 窗口中,单击 以照常添加注册表。

    Podman Desktop Registry Warning

  2. 告诉 Podman 您已获得访问不安全注册表的授权:编辑 `registries.conf` 文件。

    1. 转到可以编辑 `registries.conf` 文件的位置

      • 配置文件位于 Podman 机器中:在 Podman 机器中打开终端。

        $ podman machine ssh --username root [optional-machine-name]
    2. 编辑注册表可选配置文件。

      # vi /etc/containers/registries.conf

      对于每个不安全注册表,添加一个 `[[registry]]` 部分,该部分定义

      • location =:输入您的注册表 URL。
      • insecure = true:接受不安全证书。

      例如,如果您有两个注册表,例如 `https://my-registry.tld` 和 `http://registry.example.com`,请添加以下行

      [[registry]]
      location = "my-registry.tld"
      insecure = true

      [[registry]]
      location = "registry.example.com"
      insecure = true
  3. 重启 Podman 以应用更改。

    1. 转到 设置 > 资源
    2. 重启 Podman 机器。

验证注册表设置

要验证您的注册表是否已正确配置,您可以执行以下步骤

  1. 在 ** 设置 > 注册表**,您注册表的那一行在用户名和密码列中有内容,并且操作图标替换了配置按钮。

  2. 从注册表拉取私有镜像。

    1. 获取存储在您注册表中的私有镜像的名称,例如 quay.io/my-repository/my-imageghcr.io/my-repository/my-imagedocker.io/my-repository/my-imagemy-registry.tld/my-repository/my-image
    2. 转到 **镜像**。
    3. 点击 **拉取镜像**。
    4. 在 **要拉取的镜像** 屏幕上
      1. **要拉取的镜像**: 输入镜像名称。
      2. 点击拉取镜像。
    5. 点击完成。
  3. 将镜像推送到注册表

    1. 获取您的注册表所需的完整限定镜像名称,例如 quay.io/my-repository/my-imageghcr.io/my-repository/my-imagedocker.io/my-repository/my-image

    2. 转到 **镜像**。

    3. 点击 **构建镜像**。

    4. 在 **从 Containerfile 构建镜像** 屏幕上

      1. **Containerfile 路径**: 选择要构建的 Containerfile 或 Dockerfile。
      2. **镜像名称**: 输入您的注册表所需的完整限定镜像名称。
      3. 点击构建。
      4. 点击完成。
    5. 在您的镜像行上,点击 ****。

      上下文菜单有一个 **将镜像推送到 您的注册表** 条目。

更改您的凭据

要更改您的注册表凭据,您可以执行以下步骤

  1. 转到 设置 > 注册表
  2. 在您的注册表行上,点击 ****。
  3. 点击 **编辑密码**。
  4. 在 **用户名** 和 **密码** 字段中输入您的凭据,然后点击 **登录**。

Podman Desktop 使用更新的凭据登录 Podman。

删除注册表

要删除您的注册表,您可以执行以下步骤

  1. 转到 设置 > 注册表
  2. 在您的注册表行上,点击 ****。
  3. 点击删除。

Podman Desktop 从设置中删除注册表,并从注册表注销 Podman。

查找 Podman 注册表配置文件

Podman 有两个文件用于配置注册表

  • auth.json 定义注册表的身份验证。

    Podman Desktop 将此文件直接存储在您的主机上,位于 $HOME/.config/containers/auth.json 中。

    Podman 机器挂载身份验证配置文件以访问它。

    当您删除 Podman 机器时,注册表配置不会丢失:它会保留在您的主机上。

  • registries.conf 定义可选功能,例如允许不安全的证书。

    Podman 机器将文件存储在 /etc/containers/registries.conf 中。

    当您删除 Podman 机器时,此文件会被删除。

后续步骤

考虑完成一些其他依赖于注册表的常见任务

  • 拉取镜像。
  • 将镜像推送到注册表。