专属域名
轩辕助手
文档搜索
提交工单
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
...
bitnamicharts/keycloak
官方博客热门镜像提交工单
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 —— 国内开发者首选的专业 Docker 镜像加速平台。在线技术支持请优先 提交工单,技术交流欢迎加入官方QQ群:13763429 。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

keycloak Docker 镜像下载 - 轩辕镜像

keycloak 镜像详细信息和使用指南

keycloak 镜像标签列表和版本信息

keycloak 镜像拉取命令和加速下载

keycloak 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

keycloak
bitnamicharts/keycloak

keycloak 镜像详细信息

keycloak 镜像标签列表

keycloak 镜像使用说明

keycloak 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Bitnami提供的Keycloak Helm Chart,用于在Kubernetes环境中简化开源身份与访问管理解决方案Keycloak的部署和管理。
3 收藏0 次下载activebitnamicharts
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

keycloak 镜像详细说明

keycloak 使用指南

keycloak 配置说明

keycloak 官方文档

Bitnami Keycloak 镜像文档

镜像概述和主要用途

Keycloak 是一个高性能的基于Java的身份和访问管理解决方案。它允许开发人员以最小的工作量为其应用程序添加身份验证层。Bitnami Keycloak 镜像提供了一种简单、可靠的方式来部署和运行Keycloak,适用于开发和生产环境。

Keycloak ***网站

商标声明:本软件列表由 Bitnami 打包。产品中提到的各个商标分别归各自公司所有,使用这些商标并不意味着任何关联或认可。

核心功能和特性

  • 完整的身份验证和授权功能
  • 支持多种身份验证机制(用户名/密码、OAuth 2.0、OpenID Connect等)
  • 可自定义的用户界面主题
  • 内置用户管理和角色权限控制
  • 支持多租户(Realm)架构
  • 与各种应用程序和服务的集成能力
  • 可扩展性和高可用性配置选项
  • 监控和指标收集功能
  • 支持数据库外部化和高可用性部署

使用场景和适用范围

Keycloak 适用于需要强大身份验证和授权功能的各种场景:

  • 企业级Web应用程序的单点登录(SSO)解决方案
  • API和微服务的安全访问控制
  • 多租户应用程序的身份管理
  • 移动应用程序的身份验证后端
  • 需要支持社交登录的应用程序
  • 企业内部系统的统一身份管理平台

快速开始

console
helm install my-release oci://registry-1.docker.io/bitnamicharts/keycloak

如需在生产环境中使用Keycloak,建议尝试VMware Tanzu Application Catalog,这是Bitnami目录的商业版本。

⚠️ 重要通知:Bitnami目录即将发生的变化

自2025年8月28日起,Bitnami将改进其公共目录,在新的Bitnami Secure Images计划下提供精选的强化、安全聚焦的镜像。作为此过渡的一部分:

  • 首次向社区用户提供流行容器镜像的安全优化版本
  • Bitnami将开始在其免费层中弃用对非强化的基于Debian的软件镜像的支持,并将逐步从公共目录中删除非最新标签。因此,社区用户将只能访问数量减少的强化镜像,这些镜像仅以"latest"标签发布,仅供开发目的使用
  • 从8月28日开始,在两周内,所有现有容器镜像(包括旧版本或特定版本标签,例如2.50.0、10.6)将从公共目录(docker.io/bitnami)迁移到"Bitnami Legacy"仓库(docker.io/bitnamilegacy),并且不再接收更新
  • 对于生产工作负载和长期支持,建议用户采用Bitnami Secure Images,其中包括强化容器、更小的***面、CVE透明度(通过VEX/KEV)、SBOM和企业支持

这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提高所有Bitnami用户的安全态势。有关更多详细信息,请访问Bitnami Secure Images公告。

前提条件

  • Kubernetes 1.23+
  • Helm 3.8.0+

安装方法

使用 Helm 安装

要安装名为my-release的Chart:

console
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/keycloak

注意: 您需要将占位符REGISTRY_NAME和REPOSITORY_NAME替换为Helm Chart仓库的引用。例如,对于Bitnami,您需要使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。

这些命令使用默认配置在Kubernetes集群上部署Keycloak应用程序。

提示: 使用helm list命令列出所有发布版本

Docker Compose 部署示例

yaml
version: '3'

services:
  keycloak:
    image: bitnami/keycloak:latest
    ports:
      - '8080:8080'
    environment:
      - KEYCLOAK_ADMIN_USER=admin
      - KEYCLOAK_ADMIN_PASSWORD=password
      - KEYCLOAK_EXTRA_ARGS=--import-realm
    volumes:
      - ./realms:/opt/bitnami/keycloak/data/import

基本 Docker 运行命令

console
docker run -d \
  --name keycloak \
  -p 8080:8080 \
  -e KEYCLOAK_ADMIN_USER=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=password \
  bitnami/keycloak:latest

配置说明

Prometheus 指标

通过将metrics.enabled设置为true,可以将此Chart与Prometheus集成。这将在metrics服务中公开Keycloak原生Prometheus端点,可以在metrics.service部分下进行配置。它将具有必要的注释,以便被Prometheus自动抓取。

Prometheus 要求

要使集成正常工作,需要安装Prometheus或Prometheus Operator。安装Bitnami Prometheus helm chart或Bitnami Kube Prometheus helm chart,可以轻松在集群中拥有一个可用的Prometheus。

与 Prometheus Operator 集成

通过设置metrics.serviceMonitor.enabled=true,Chart可以部署ServiceMonitor对象,以便与Prometheus Operator集成。确保在集群中安装了Prometheus Operator CustomResourceDefinitions,否则将失败并显示以下错误:

text
no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"

安装Bitnami Kube Prometheus helm chart以获取必要的CRD和Prometheus Operator。

使用外部数据库

有时,您可能希望让Keycloak连接到外部PostgreSQL数据库,而不是集群内的数据库 - 例如,当使用托管数据库服务时,或者为所有应用程序运行单个数据库服务器时。要实现此目的,请将postgresql.enabled参数设置为false,并使用externalDatabase.*参数指定外部数据库的凭据。以下是一个示例:

text
postgresql.enabled=false
externalDatabase.host=myexternalhost
externalDatabase.user=myuser
externalDatabase.password=mypassword
externalDatabase.database=mydatabase
externalDatabase.port=5432
externalDatabase.schema=public

注意: 仅支持PostgreSQL数据库服务器作为外部数据库

虽然不推荐,但也可以使用外部MSSQL数据库运行Keycloak,配置如下:

yaml
externalDatabase:
  host: "mssql.example.com"
  port: 1433
  user: keycloak
  database: keycloak
  existingSecret: passwords
extraEnvVars:
  - name: KC_DB # 覆盖配置文件中的值
    value: 'mssql'
  - name: KC_DB_URL
    value: 'jdbc:sqlserver://mssql.example.com:1433;databaseName=keycloak;'

导入和导出 Realm

导入 Realm

您可以通过将KEYCLOAK_EXTRA_ARGS设置为包含--import-realm参数来导入Realm。

根据***文档此处的说明,这将导入/opt/bitnami/keycloak/data/import下所有*.json文件作为Keycloak的Realm。您可以通过挂载卷来提供文件,例如使用docker compose:

yaml
keycloak:
  image: bitnami/keycloak:latest
  volumes:
    - /local/path/to/realms/folder:/opt/bitnami/keycloak/data/import

导出 Realm

您可以通过GUI导出Realm,但即使设置了选项,它也不会导出用户,这是Keycloak的一个已知bug。

通过使用kc.sh脚本,您可以导出包含用户的Realm。确保将导出文件夹挂载到本地文件夹:

yaml
keycloak:
  image: bitnami/keycloak:latest
  volumes:
    - /local/path/to/export/folder:/export

然后在运行的keycloak容器中打开终端并运行:

bash
kc.sh export --dir /export/ --users realm_file

这将把所有Realm连同用户一起导出到/export文件夹。

配置 Ingress

此Chart提供对Ingress资源的支持。如果您的集群上安装了Ingress控制器(例如nginx-ingress-controller或contour),您可以利用Ingress控制器来提供应用程序服务。要启用Ingress集成,请将ingress.enabled设置为true。

最常见的场景是将一个主机名映射到部署。在这种情况下,可以使用ingress.hostname属性来设置主机名。ingress.tls参数可用于为此主机添加TLS配置。

但是,也可以有多个主机。为了实现这一点,可以设置ingress.extraHosts参数(如果可用),将主机名指定为数组。还可以使用ingress.extraTLS参数(如果可用)为额外的主机添加TLS配置。

注意: 对于ingress.extraHosts参数中指定的每个主机,需要设置名称、路径以及Ingress控制器应了解的任何注释。并非所有Ingress控制器都支持所有注释,但此注释参考文档列出了许多流行Ingress控制器支持的注释。

添加TLS参数(如果可用)将导致Chart生成HTTPS URL,应用程序将在端口443上可用。实际的TLS密钥不必由此Chart生成。但是,如果启用了TLS,则在TLS密钥存在之前,Ingress记录将无法工作。

了解更多关于Ingress控制器。

配置用于 Ingress 的 TLS 密钥

此Chart有助于创建用于Ingress控制器的TLS密钥(尽管这不是必需的)。有几种常见的用例:

  • 基于Chart参数生成证书密钥
  • 启用外部生成的证书
  • 通过外部服务(如cert-manager)管理应用程序证书
  • 在Chart中创建自签名证书(如果支持)

在前两种情况下,需要证书和密钥。文件应为.pem格式。

证书文件示例:

注意: 如果存在证书链,可能会有多个证书。

text
-----BEGIN CERTIFICATE-----
MIID6TCCAtGgAwIBAgIJAIaCwivkeB5EMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV
...
jScrvkiBO65F46KioCL9h5tDvomdU1aqpI/CBzhvZn1c0ZTf87tGQR8NK7v7
-----END CERTIFICATE-----

证书密钥示例:

text
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAvLYcyu8f3skuRyUgeeNpeDvYBCDcgq+LsWap6zbX5f8oLqp4
...
wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc=
-----END RSA PRIVATE KEY-----
  • 如果使用Helm基于参数管理证书,请将这些值复制到给定*.ingress.secrets条目的certificate和key值中。
  • 如果单独管理TLS密钥,则需要创建名称为INGRESS_HOSTNAME-tls的TLS密钥(其中INGRESS_HOSTNAME是一个占位符,需要替换为您使用*.ingress.hostname参数设置的主机名)。
  • 如果您的集群有cert-manager插件来自动管理和颁发TLS证书,请将相应的注释添加到*.ingress.annotations中。
  • 如果使用Helm创建的自签名证书,请将*.ingress.tls和*.ingress.selfSigned都设置为true。

使用 TLS 保护流量

可以通过指定tls.enabled=true在Chart中启用Web界面的TLS支持。有两种可能的选项:

  • 提供您自己的PEM或JKS证书密钥
  • 让Chart自动生成证书

提供您自己的 TLS 密钥

要提供您自己的密钥,请设置tls.existingSecret值。可以使用PEM或JKS格式。

使用PEM证书:

  • tls.usePemCerts=true: 使用PEM证书而不是JKS文件。
  • tls.certFilename: 证书文件名。默认为tls.crt。
  • tls.certKeyFilename: 证书密钥文件名。默认为tls.key

使用JKS密钥库:

  • tls.usePemCerts=false: 使用JKS文件。
  • tls.keystoreFilename: 证书文件名。默认为keycloak.keystore.jks。
  • tls.truststoreFilename: 信任库文件名。默认为keycloak.truststore.jks。

在以下示例中,我们将使用PEM证书。首先,使用证书文件创建密钥:

console
kubectl create secret generic certificates-tls-secret --from-file=./cert.pem --from-file=./cert.key

然后,使用以下参数:

console
tls.enabled=true
tls.autoGenerated.enabled=false
tls.usePemCerts=true
tls.existingSecret="certificates-tls-secret"
tls.certFilename="cert.pem"
tls.certKeyFilename="cert.key"

自动生成 TLS 证书

也可以依靠Chart的证书自动生成功能。Chart支持两种不同的自动生成所需证书的方式:

  • 使用Helm功能。通过将tls.autoGenerated.enabled设置为true并将tls.autoGenerated.engine设置为helm来启用此功能。
  • 依赖CertManager(请注意,需要在K8s集群中安装CertManager)。通过将tls.autoGenerated.enabled设置为true并将tls.autoGenerated.engine设置为cert-manager来启用此功能。请注意,支持通过设置tls.autoGenerated.certManager.existingIssuer和tls.autoGenerated.certManager.existingIssuerKind参数来使用现有的Issuer/ClusterIssuer来颁发TLS证书。

与 Ingress 一起使用 SSL 卸载

如果您的Ingress控制器具有TLS/SSL终止功能,您可能需要通过proxyHeaders参数正确配置反向代理头。在上游文档中找到更多信息。

更新凭据

Bitnami charts在首次启动时配置凭据。对密钥或凭据的任何进一步更改都需要手动干预。请按照以下说明操作:

  • 按照上游文档更新用户密码
  • 使用新值更新密码密钥(替换SECRET_NAME和PASSWORD占位符)
shell
kubectl create secret generic SECRET_NAME --from-literal=admin-password=PASSWORD --dry-run -o yaml | kubectl apply -f -

备份和恢复

要在Kubernetes上备份和恢复Helm chart部署,您需要从源部署备份持久卷,并使用Velero(Kubernetes备份/恢复工具)将它们附加到新部署。在本指南中找到使用Velero的说明。

资源请求和限制

Bitnami charts允许为Chart部署内的所有容器设置资源请求和限制。这些在resources值内(检查参数表)。设置请求对于生产工作负载至关重要,这些应该根据您的具体用例进行调整。

为了使此过程更容易,Chart包含resourcesPreset值,它根据不同的预设自动设置resources部分。在bitnami/common chart中检查这些预设。但是,在生产工作负载中不建议使用resourcesPreset,因为它可能无法完全适应您的特定需求。在***Kubernetes文档中找到有关容器资源管理的更多信息。

设置 Pod 亲和性

此Chart允许您使用affinity参数设置自定义亲和性。在[kubernetes文档]([***]

查看更多 keycloak 相关镜像 →
keycloak/keycloak logo
keycloak/keycloak
by keycloak
Open Source Identity and Access Management
1445M+ pulls
上次更新:7 天前
bitnami/keycloak logo
bitnami/keycloak
by VMware
认证
Bitnami安全Keycloak镜像,提供可靠的身份认证与访问管理功能,适合生产环境部署。
11710M+ pulls
上次更新:2 个月前
elestio/keycloak logo
elestio/keycloak
by Elestio
认证
Elestio验证打包的Keycloak镜像,提供开源身份与访问管理解决方案,支持用户认证、授权等核心功能。
150K+ pulls
上次更新:7 天前
camunda/keycloak logo
camunda/keycloak
by camunda services GmbH
认证
Camunda Keycloak Docker镜像基于Keycloak官方或Bitnami镜像构建,支持AWS IAM角色(IRSA)数据库认证,提供可选Camunda身份认证登录主题,包含Quay-based(推荐生产使用)、Bitnami-based(遗留)和企业版变体,兼容PostgreSQL数据库。
1100K+ pulls
上次更新:12 天前
airbyte/keycloak logo
airbyte/keycloak
by Airbyte
认证
暂无描述
500K+ pulls
上次更新:7 天前

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"

用户评价详情

oldzhang - 运维工程师

Linux服务器

5

Docker加速体验非常流畅,大镜像也能快速完成下载。

Nana - 后端开发

Mac桌面

4.9

配置Docker镜像源后,拉取速度快了数倍,开发体验提升明显。

Qiang - 平台研发

K8s集群

5

轩辕镜像在K8s集群中表现很稳定,容器部署速度明显加快。

小敏 - 测试工程师

Windows桌面

4.8

Docker镜像下载不再超时,测试环境搭建更加高效。

晨曦 - DevOps工程师

宝塔面板

5

配置简单,Docker镜像源稳定,适合快速部署环境。

阿峰 - 资深开发

群晖NAS

5

在群晖NAS上配置后,镜像下载速度飞快,非常适合家庭实验环境。

俊仔 - 后端工程师

飞牛NAS

4.9

Docker加速让容器搭建顺畅无比,再也不用等待漫长的下载。

Lily - 测试经理

Linux服务器

4.8

镜像源覆盖面广,更新及时,团队一致反馈体验不错。

浩子 - 云平台工程师

Podman容器

5

使用轩辕镜像后,Podman拉取镜像稳定无比,生产环境可靠。

Kai - 运维主管

爱快路由

5

爱快系统下配置加速服务,Docker镜像拉取速度提升非常大。

翔子 - 安全工程师

Linux服务器

4.9

镜像源稳定性高,安全合规,Docker拉取无忧。

亮哥 - 架构师

K8s containerd

5

大规模K8s集群下镜像加速效果显著,节省了大量时间。

慧慧 - 平台开发

Docker Compose

4.9

配置Compose镜像加速后,整体构建速度更快了。

Tina - 技术支持

Windows桌面

4.8

配置简单,镜像拉取稳定,适合日常开发环境。

宇哥 - DevOps Leader

极空间NAS

5

在极空间NAS上使用Docker加速,体验流畅稳定。

小静 - 数据工程师

Linux服务器

4.9

Docker镜像源下载速度快,大数据环境搭建轻松完成。

磊子 - SRE

宝塔面板

5

使用轩辕镜像后,CI/CD流程整体快了很多,值得推荐。

阿Yang - 前端开发

Mac桌面

4.9

国内网络环境下,Docker加速非常给力,前端环境轻松搭建。

Docker迷 - 架构师

威联通NAS

5

威联通NAS下配置镜像加速后,Docker体验比官方源好很多。

方宇 - 系统工程师

绿联NAS

5

绿联NAS支持加速配置,Docker镜像下载快且稳定。

常见问题

Q1:轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

Q2:轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

Q3:流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

Q4:410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

Q5:manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

Q6:镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像加速服务

Windows/Mac

在 Docker Desktop 配置镜像加速

Docker Compose

Docker Compose 项目配置加速

K8s Containerd

Kubernetes 集群配置 Containerd

宝塔面板

在宝塔面板一键配置镜像加速

群晖

Synology 群晖 NAS 配置加速

飞牛

飞牛 fnOS 系统配置镜像加速

极空间

极空间 NAS 系统配置加速服务

爱快路由

爱快 iKuai 路由系统配置加速

绿联

绿联 NAS 系统配置镜像加速

威联通

QNAP 威联通 NAS 配置加速

Podman

Podman 容器引擎配置加速

Singularity/Apptainer

HPC 科学计算容器配置加速

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名加速

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
©2024-2025 源码跳动
商务合作电话:17300950906Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.