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
Docker 身份验证默认禁用。要启用,请参阅启用和禁用功能指南。 |
本节介绍如何配置 Docker 镜像仓库以使用 Keycloak 作为其身份验证服务器。
有关如何设置和配置 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 字段。 没有此参数,身份验证配置将无法工作。 |
通常,对于开发或 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 镜像仓库针对 Keycloak 服务器进行身份验证。 它仅用于开发目的,绝不应在生产或类生产环境中使用。 |
zip 文件安装机制为想要了解 Keycloak 服务器如何与 Docker 镜像仓库交互的开发人员提供了快速入门。 为了配置
从所需的 realm 中,创建一个客户端配置。 此时您将没有 Docker 镜像仓库 - 快速入门将处理该部分。
从操作菜单中选择 Docker Compose YAML 选项,然后选择 下载适配器配置 选项以下载 ZIP 文件。
将压缩包解压到所需位置,然后打开目录。
使用 docker-compose up
启动 Docker 镜像仓库
建议您在 'master' 以外的 realm 中配置 Docker 镜像仓库客户端,因为 HTTP Basic 身份验证流程不会显示表单。 |
一旦完成上述配置,并且 keycloak 服务器和 Docker 镜像仓库正在运行,docker 身份验证应该成功
[user ~]# docker login localhost:5000 -u $username Password: ******* Login Succeeded