设置容器注册表
在开始之前,您应该
- 获取容器注册表的身份验证详细信息
- 注册表 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
如果您的容器注册表在该列表中,请按照以下步骤操作
-
转到 设置 > 注册表。
-
在您的注册表行中,单击 配置。
-
输入您的注册表凭据
- 用户名:输入您的用户名。
- 密码:输入您的密码或 OAuth 密钥。
- 单击 登录。
Podman 桌面使用提供的凭据登录 Podman。
如果输入的凭据错误,您将看到错误消息
- 输入正确的凭据
- 再次单击 登录。
设置自定义注册表
如果您有一个自定义容器注册表,或者一个不在预配置列表中的注册表:我们已为您提供解决方案。请按照以下步骤操作
-
转到 设置 > 注册表。
-
单击屏幕右上角的 添加注册表。
-
输入您的注册表详细信息
- 注册表位置:输入您的存储库 URL,例如 `https://myregistry.tld`。
- 用户名:输入您的用户名。
- 密码:输入您的密码或 OAuth 密钥。
- 单击 登录。
Podman 桌面使用提供的凭据登录 Podman。
如果输入的凭据错误,您将看到错误消息
- 输入正确的凭据
- 再次单击 登录。
设置具有不安全证书的注册表
如果您的注册表具有不安全证书,例如自签名证书,您在设置注册表时会看到警告。
-
在 无效证书 窗口中,单击 是 以照常添加注册表。
-
告诉 Podman 您已获得访问不安全注册表的授权:编辑 `registries.conf` 文件。
-
转到可以编辑 `registries.conf` 文件的位置
- Windows
- macOS
- Linux
-
配置文件位于 Podman 机器中:在 Podman 机器中打开终端。
$ podman machine ssh --username root [optional-machine-name]
-
配置文件位于 Podman 机器中:在 Podman 机器中打开终端。
$ podman machine ssh --username root [optional-machine-name]
-
配置文件位于您的主机中:以超级用户权限打开终端。
$ sudo su -
-
编辑注册表可选配置文件。
# 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
-
-
重启 Podman 以应用更改。
- Windows
- macOS
- Linux (无根)
- Linux (有根)
- 转到 设置 > 资源。
- 重启 Podman 机器。
- 转到 设置 > 资源。
- 重启 Podman 机器。
-
停止所有 Podman 进程。
$ pkill podman
-
重启 Podman。
$ sudo systemctl restart podman
验证注册表设置
要验证您的注册表是否已正确配置,您可以执行以下步骤
-
在 ** 设置 > 注册表**,您注册表的那一行在用户名和密码列中有内容,并且操作图标替换了配置按钮。
-
从注册表拉取私有镜像。
- 获取存储在您注册表中的私有镜像的名称,例如
quay.io/my-repository/my-image
、ghcr.io/my-repository/my-image
、docker.io/my-repository/my-image
或my-registry.tld/my-repository/my-image
。 - 转到 **镜像**。
- 点击 **拉取镜像**。
- 在 **要拉取的镜像** 屏幕上
- **要拉取的镜像**: 输入镜像名称。
- 点击拉取镜像。
- 点击完成。
- 获取存储在您注册表中的私有镜像的名称,例如
-
将镜像推送到注册表
-
获取您的注册表所需的完整限定镜像名称,例如
quay.io/my-repository/my-image
、ghcr.io/my-repository/my-image
或docker.io/my-repository/my-image
。 -
转到 **镜像**。
-
点击 **构建镜像**。
-
在 **从 Containerfile 构建镜像** 屏幕上
- **Containerfile 路径**: 选择要构建的 Containerfile 或 Dockerfile。
- **镜像名称**: 输入您的注册表所需的完整限定镜像名称。
- 点击构建。
- 点击完成。
-
在您的镜像行上,点击 ****。
上下文菜单有一个 **将镜像推送到 您的注册表** 条目。
-
更改您的凭据
要更改您的注册表凭据,您可以执行以下步骤
- 转到 设置 > 注册表。
- 在您的注册表行上,点击 ****。
- 点击 **编辑密码**。
- 在 **用户名** 和 **密码** 字段中输入您的凭据,然后点击 **登录**。
Podman Desktop 使用更新的凭据登录 Podman。
删除注册表
要删除您的注册表,您可以执行以下步骤
- 转到 设置 > 注册表。
- 在您的注册表行上,点击 ****。
- 点击删除。
Podman Desktop 从设置中删除注册表,并从注册表注销 Podman。
查找 Podman 注册表配置文件
Podman 有两个文件用于配置注册表
-
auth.json
定义注册表的身份验证。Podman Desktop 将此文件直接存储在您的主机上,位于
$HOME/.config/containers/auth.json
中。Podman 机器挂载身份验证配置文件以访问它。
当您删除 Podman 机器时,注册表配置不会丢失:它会保留在您的主机上。
-
registries.conf
定义可选功能,例如允许不安全的证书。Podman 机器将文件存储在
/etc/containers/registries.conf
中。当您删除 Podman 机器时,此文件会被删除。
后续步骤
考虑完成一些其他依赖于注册表的常见任务
- 拉取镜像。
- 将镜像推送到注册表。