Docker 仓库

配置 Docker 仓库使用 Keycloak
Docker 身份验证默认情况下是禁用的。 要启用,请参见启用和禁用功能指南。

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

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

Docker 仓库配置文件安装

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

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

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

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

Docker 仓库环境变量覆盖安装

通常,使用简单的环境变量覆盖来开发或 POC Docker 仓库是合适的。 虽然这种方法通常不建议用于生产环境,但在需要快速便捷地建立仓库时,它可能很有用。 只需从客户端详细信息中使用变量覆盖格式选项,就会出现类似于以下内容的输出

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

Docker Compose YAML 文件

此安装方法旨在成为一种轻松的方式,使 Docker 仓库能够针对 Keycloak 服务器进行身份验证。 它仅用于开发目的,不应在生产或类生产环境中使用。

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

步骤
  1. 从所需的领域创建客户端配置。 此时您还没有 Docker 仓库 - 快速入门将负责该部分。

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

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

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

建议您在与“master”不同的领域中配置 Docker 仓库客户端,因为 HTTP 基本身份验证流程不会呈现表单。

完成上述配置后,Keycloak 服务器和 Docker 仓库运行后,Docker 身份验证应该成功

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