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
Docker 身份验证默认情况下是禁用的。 要启用,请参见启用和禁用功能指南。 |
本节介绍如何配置 Docker 仓库以使用 Keycloak 作为其身份验证服务器。
有关如何设置和配置 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 字段。 没有此参数,身份验证配置将无法正常工作。 |
通常,使用简单的环境变量覆盖来开发或 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 仓库能够针对 Keycloak 服务器进行身份验证。 它仅用于开发目的,不应在生产或类生产环境中使用。 |
zip 文件安装机制为想要了解 Keycloak 服务器如何与 Docker 仓库交互的开发人员提供了快速入门。 为了配置
从所需的领域创建客户端配置。 此时您还没有 Docker 仓库 - 快速入门将负责该部分。
从操作菜单中选择Docker Compose YAML选项,然后选择下载适配器配置选项以下载 ZIP 文件。
将存档解压缩到所需位置,然后打开目录。
使用docker-compose up
启动 Docker 仓库
建议您在与“master”不同的领域中配置 Docker 仓库客户端,因为 HTTP 基本身份验证流程不会呈现表单。 |
完成上述配置后,Keycloak 服务器和 Docker 仓库运行后,Docker 身份验证应该成功
[user ~]# docker login localhost:5000 -u $username Password: ******* Login Succeeded