轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
gluufederation/opendj
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

opendj Docker 镜像下载 - 轩辕镜像

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

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

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

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

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

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

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

opendj
gluufederation/opendj

opendj 镜像详细信息

opendj 镜像标签列表

opendj 镜像使用说明

opendj 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Gluu Federation提供的OpenDJ Docker镜像,用于部署和运行OpenDJ LDAP服务器,支持配置与密钥管理、自动复制等功能,适用于身份管理和目录服务场景。
4 收藏0 次下载activegluufederation镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

opendj 镜像详细说明

opendj 使用指南

opendj 配置说明

opendj 官方文档

镜像概述与主要用途

该Docker镜像由Gluu Federation提供,是OpenDJ的Docker打包版本,用于便捷部署和运行OpenDJ LDAP服务器。OpenDJ是一款功能强大的目录服务器,广泛应用于身份管理、用户数据存储和目录服务场景。本镜像支持多种配置和密钥管理适配器、自动LDAP复制等特性,简化了OpenDJ在容器化环境中的部署与运维。

版本信息

  • 稳定版本:请参考Releases页面获取稳定版本。
  • 开发/不稳定版本:使用标签 gluufederation/opendj:5.0.0_dev。

环境变量

容器支持以下环境变量,用于配置服务行为:

配置管理相关

  • CN_CONFIG_ADAPTER:配置后端适配器,可选值为consul(默认)、kubernetes或google。
  • CN_CONFIG_CONSUL_HOST:Consul的主机名或IP(默认值:localhost)。
  • CN_CONFIG_CONSUL_PORT:Consul的端口(默认值:8500)。
  • CN_CONFIG_CONSUL_CONSISTENCY:Consul一致性模式,可选default、consistent或stale(默认值:stale)。
  • CN_CONFIG_CONSUL_SCHEME:Consul支持的协议(http或https)。
  • CN_CONFIG_CONSUL_VERIFY:是否验证证书(默认值:false)。
  • CN_CONFIG_CONSUL_CACERT_FILE:Consul CA证书文件路径(默认值:/etc/certs/consul_ca.crt)。当CN_CONFIG_CONSUL_VERIFY设为true且文件存在时使用。
  • CN_CONFIG_CONSUL_CERT_FILE:Consul证书文件路径(默认值:/etc/certs/consul_client.crt)。
  • CN_CONFIG_CONSUL_KEY_FILE:Consul密钥文件路径(默认值:/etc/certs/consul_client.key)。
  • CN_CONFIG_CONSUL_TOKEN_FILE:包含ACL令牌的文件路径(默认值:/etc/certs/consul_token)。
  • CN_CONFIG_KUBERNETES_NAMESPACE:Kubernetes命名空间(默认值:default)。
  • CN_CONFIG_KUBERNETES_CONFIGMAP:Kubernetes配置映射名称(默认值:jans)。
  • CN_CONFIG_KUBERNETES_USE_KUBE_CONFIG:是否从$HOME/.kube/config加载凭据(仅非容器环境有用,默认值:false)。
  • GOOGLE_PROJECT_ID:Google项目ID(默认值:空字符串)。当CN_CONFIG_ADAPTER或CN_SECRET_ADAPTER设为google时使用。
  • GOOGLE_APPLICATION_CREDENTIALS:包含Google凭据的JSON文件路径(可选)。参考Google云认证文档获取支持的凭据类型。

密钥管理相关

  • CN_SECRET_ADAPTER:密钥适配器,可选值为vault(默认)、kubernetes或google。
  • CN_SECRET_VAULT_VERIFY:是否验证Vault证书(默认值:false)。
  • CN_SECRET_VAULT_ROLE_ID_FILE:包含Vault AppRole角色ID的文件路径(默认值:/etc/certs/vault_role_id)。
  • CN_SECRET_VAULT_SECRET_ID_FILE:包含Vault AppRole密钥ID的文件路径(默认值:/etc/certs/vault_secret_id)。
  • CN_SECRET_VAULT_CERT_FILE:Vault证书文件路径(默认值:/etc/certs/vault_client.crt)。
  • CN_SECRET_VAULT_KEY_FILE:Vault密钥文件路径(默认值:/etc/certs/vault_client.key)。
  • CN_SECRET_VAULT_CACERT_FILE:Vault CA证书文件路径(默认值:/etc/certs/vault_ca.crt)。当CN_SECRET_VAULT_VERIFY设为true且文件存在时使用。
  • CN_SECRET_VAULT_ADDR:Vault的URL(默认值:http://localhost:8200)。
  • CN_SECRET_VAULT_NAMESPACE:访问密钥时使用的命名空间(默认值:空字符串)。
  • CN_SECRET_VAULT_KV_PATH:KV密钥引擎的路径(默认值:secret)。
  • CN_SECRET_VAULT_PREFIX:构建密钥路径的基础前缀(默认值:jans)。
  • CN_SECRET_VAULT_APPROLE_PATH:AppRole的路径(默认值:approle)。
  • CN_SECRET_KUBERNETES_NAMESPACE:Kubernetes命名空间(默认值:default)。
  • CN_SECRET_KUBERNETES_CONFIGMAP:Kubernetes密钥名称(默认值:jans)。
  • CN_SECRET_KUBERNETES_USE_KUBE_CONFIG:是否从$HOME/.kube/config加载凭据(仅非容器环境有用,默认值:false)。
  • CN_GOOGLE_SECRET_VERSION_ID:Google Secret Manager中Janssen密钥的版本ID(默认值:latest,推荐使用)。
  • CN_GOOGLE_SECRET_MANAGER_PASSPHRASE:Google Secret Manager中Janssen密钥的密码(推荐修改,默认值:secret)。
  • CN_GOOGLE_SECRET_NAME_PREFIX:Google Secret Manager中Janssen密钥的前缀(默认值:jans,若保留则创建jans-secret密钥)。

服务配置相关

  • CN_WAIT_MAX_TIME:启动时“健康检查”的最长运行时间(默认值:300秒)。
  • CN_WAIT_SLEEP_DURATION:启动“健康检查”之间的延迟时间(默认值:10秒)。
  • CN_CERT_ALT_NAME:证书中作为Subject Alt Name的额外DNS名称。若值非空且与现有证书中的Subject Alt Name不匹配(或不存在),则会重新生成新证书并覆盖配置后端中保存的证书。仅当部署oxShibboleth时需要,用于解决连接OpenDJ时CN与目标主机名不匹配的问题。注意:任何连接到OpenDJ的现有容器都必须重新部署以下载新证书。
  • CN_MAX_RAM_PERCENTAGE:传递给Java选项-XX:MaxRAMPercentage的值。
  • CN_JAVA_OPTIONS:传递给入口点的Java选项,如-Xmx1024m(默认值:空字符串)。

LDAP复制相关

  • CN_LDAP_AUTO_REPLICATE:是否自动启用复制(默认值:true)。
  • CN_LDAP_REPL_CHECK_INTERVAL:复制检查的间隔时间(秒,默认值:10)。
  • CN_LDAP_REPL_MAX_RETRIES:自动复制初始化的最大重试次数(默认值:10)。达到最大重试次数后,无论复制状态如何,进程都会停止(可能需要手动运行进程)。
  • CN_LDAP_REPL_SOURCE:作为复制源的地址(例如:ldap,默认值:空字符串)。
  • CN_LDAP_REPL_DISABLE_ON_EXIT:退出时是否自动禁用复制(默认值:true)。
  • CN_LDAP_USE_SSL:是否使用SSL连接到LDAP服务器(默认值:true)。

部署要求

全新部署

  1. 生成包含cn=Directory Manager密码的ldap_password密钥,例如:Test1234#。

  2. 生成包含信任库密码的ldap_truststore_password密钥,例如:

    tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w 12 | head -n 1
    
  3. 创建opendj.crt和opendj.key文件,例如:

    openssl req \
        -x509 \
        -newkey rsa:2048 \
        -sha256 \
        -days 365 \
        -nodes \
        -keyout opendj.key \
        -out opendj.crt \
        -subj '/CN=demoexample.jans.io' \
        -addext 'subjectAltName=DNS:ldap,DNS:opendj'
    

    注意:需添加额外的DNS:<opendj-service-name>以匹配OpenDJ的Kubernetes服务名称。

    使用以下命令准备ldap_ssl_cert密钥:

    cat opendj.crt | base64 -w0
    

    使用以下命令准备ldap_ssl_key密钥:

    cat opendj.key | base64 -w0
    
  4. 将上述密钥放入configuration.json(部分键省略):

    {
        "_secret": {
            "ldap_password": "<ldap_password>",
            "ldap_truststore_pass": "<ldap_truststore_password>",
            "ldap_ssl_cert": "<ldap_ssl_cert>",
            "ldap_ssl_key": "<ldap_ssl_key>"
        },
        "_configmap": {
            "optional_scopes": "[\"couchbase\", \"ldap\", \"redis\", \"sql\"]",
            "admin_email": "***",
            "hostname": "demoexample.jans.io",
            "city": "Austin",
            "country_code": "US",
            "orgName": "Gluu",
            "state": "TX"
        }
    }
    

    若使用charts的values.yaml,按以下示例放置相关密钥:

    config:
      ldapPassword: "<ldap_password>"
      ldapTruststorePassword: "<ldap_truststore_password>"
      configmap:
        cnLdapCrt: "<ldap_ssl_cert>"
        cnLdapKey: "<ldap_ssl_key>"
    

从现有设置迁移

  1. 在主机创建opendj_configuration_export.py:

    import os
    
    from jans.pycloudlib import get_manager
    
    manager = get_manager()
    
    # 拉取密钥供后续使用
    manager.secret.to_file("ldap_ssl_cert", "/tmp/opendj.crt", decode=True)
    manager.secret.to_file("ldap_ssl_key", "/tmp/opendj.key", decode=True)
    manager.secret.to_file("ldap_truststore_pass", "/tmp/ldap_truststore_password")
    manager.secret.to_file("encoded_ox_ldap_pw", "/tmp/ldap_password", decode=True)
    
    # 转换并推送密钥
    manager.secret.from_file("ldap_ssl_cert", "/tmp/opendj.crt")
    manager.secret.from_file("ldap_ssl_key", "/tmp/opendj.key")
    manager.secret.from_file("ldap_password", "/tmp/ldap_password")
    
  2. 将脚本复制到现有Pod并运行,例如:

    kubectl -n jans cp opendj_configuration_export.py jans-auth-xzddfi:/tmp/opendj_configuration_export.py
    
    # 此脚本将创建所需文件
    kubectl -n jans exec jans-auth-xzddfi -- python3 /tmp/opendj_configuration_export.py
    
  3. 下载脚本生成的文件,例如:

    kubectl -n jans cp jans-auth-xzddfi:/tmp/ldap_password ldap_password
    kubectl -n jans cp jans-auth-xzddfi:/tmp/ldap_truststore_password ldap_truststore_password
    kubectl -n jans cp jans-auth-xzddfi:/tmp/opendj.crt opendj.crt
    kubectl -n jans cp jans-auth-xzddfi:/tmp/opendj.key opendj.key
    
  4. 使用以下命令准备ldap_ssl_cert密钥:

    cat opendj.crt | base64 -w0
    

    使用以下命令准备ldap_ssl_key密钥:

    cat opendj.key | base64 -w0
    
  5. 将上述密钥放入configuration.json(部分键省略):

    {
        "_secret": {
            "ldap_password": "<ldap_password>",
            "ldap_truststore_pass": "<ldap_truststore_password>",
            "ldap_ssl_cert": "<ldap_ssl_cert>",
            "ldap_ssl_key": "<ldap_ssl_key>"
        },
        "_configmap": {
            "optional_scopes": "[\"couchbase\", \"ldap\", \"redis\", \"sql\"]",
            "admin_email": "***",
            "hostname": "demoexample.jans.io",
            "city": "Austin",
            "country_code": "US",
            "orgName": "Gluu",
            "state": "TX"
        }
    }
    

    若使用charts的values.yaml,按以下示例放置相关密钥:

    config:
      ldapPassword: "<ldap_password>"
      ldapTruststorePassword: "<ldap_truststore_password>"
      configmap:
        cnLdapCrt: "<ldap_ssl_cert>"
        cnLdapKey: "<ldap_ssl_key>"
    

部署策略

  1. 部署单个OpenDJ实例
  2. 扩展OpenDJ实例,默认会自动进行复制(另见LDAP复制)
  3. 移除任何OpenDJ实例前,在容器内运行python3 /app/scripts/deregister_peer.py(在Kubernetes中,可使用preStop钩子替代)

LDAP复制

当容器运行时,满足以下条件会自动触发复制过程:

  1. 集群中运行多个LDAP容器
  2. o=jans、o=site、o=metric后端尚未复制且无条目

查看LDAP容器日志可了解结果,也可在容器内运行/opt/opendj/bin/dsreplication status检查复制状态。

查看更多 opendj 相关镜像 →
openidentityplatform/opendj logo
openidentityplatform/opendj
by Open Identity Platform Community
OpenDJ是符合LDAP v3标准的高性能目录服务。
211M+ pulls
上次更新:1 个月前

常见问题

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

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

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

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

流量耗尽错误提示

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

410 错误问题

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

manifest unknown 错误

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

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

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

查看全部问题→

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

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

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

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

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