Docker 镜像仓库

配置 Docker 镜像仓库以使用 Keycloak
Docker 身份验证默认禁用。要启用,请参阅启用和禁用功能指南。

本节介绍如何配置 Docker 镜像仓库以使用 Keycloak 作为其身份验证服务器。

有关如何设置和配置 Docker 镜像仓库的更多信息,请参阅Docker 镜像仓库配置指南

Docker 镜像仓库配置文件安装

对于具有更高级 Docker 镜像仓库配置的用户,通常建议提供您自己的仓库配置文件。 Keycloak Docker 提供程序通过Registry Config File格式选项支持此机制。 选择此选项将生成类似于以下的输出

auth:
  token:
    realm: https://127.0.0.1:8080/realms/master/protocol/docker-v2/auth
    service: docker-test
    issuer: https://127.0.0.1:8080/realms/master

然后可以将此输出复制到任何现有的仓库配置文件中。 有关如何设置文件的更多信息,请参阅仓库配置文件规范,或者从基本示例开始。

不要忘记使用 Keycloak realm 的公钥位置配置 rootcertbundle 字段。 没有此参数,身份验证配置将无法工作。

Docker 镜像仓库环境变量覆盖安装

通常,对于开发或 POC Docker 镜像仓库,使用简单的环境变量覆盖是合适的。 虽然这种方法通常不建议用于生产环境,但当需要快速搭建仓库时,它可能会有所帮助。 只需从客户端详细信息中使用Variable Override格式选项,就会出现如下所示的输出

REGISTRY_AUTH_TOKEN_REALM: https://127.0.0.1:8080/realms/master/protocol/docker-v2/auth
REGISTRY_AUTH_TOKEN_SERVICE: docker-test
REGISTRY_AUTH_TOKEN_ISSUER: https://127.0.0.1:8080/realms/master
不要忘记使用 Keycloak realm 的公钥位置配置 REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE 覆盖。 没有此参数,身份验证配置将无法工作。

Docker Compose YAML 文件

此安装方法旨在提供一种简便的方式来使 Docker 镜像仓库针对 Keycloak 服务器进行身份验证。 它仅用于开发目的,绝不应在生产或类生产环境中使用。

zip 文件安装机制为想要了解 Keycloak 服务器如何与 Docker 镜像仓库交互的开发人员提供了快速入门。 为了配置

步骤
  1. 从所需的 realm 中,创建一个客户端配置。 此时您将没有 Docker 镜像仓库 - 快速入门将处理该部分。

  2. 操作菜单中选择 Docker Compose YAML 选项,然后选择 下载适配器配置 选项以下载 ZIP 文件。

  3. 将压缩包解压到所需位置,然后打开目录。

  4. 使用 docker-compose up 启动 Docker 镜像仓库

建议您在 'master' 以外的 realm 中配置 Docker 镜像仓库客户端,因为 HTTP Basic 身份验证流程不会显示表单。

一旦完成上述配置,并且 keycloak 服务器和 Docker 镜像仓库正在运行,docker 身份验证应该成功

[user ~]# docker login localhost:5000 -u $username
Password: *******
Login Succeeded
在本页