symas/openldapOpenLDAP 是 LDAP(轻量级目录访问协议)的开源解决方案。它是一种用于从层次结构目录结构(如数据库)中存储和检索数据的协议。
OpenLDAP 概述
商标说明:此软件列表由 Symas 打包。产品中提及的相关商标归各自公司所有,使用这些商标并不意味着任何关联或认可。
如果在使用此容器时遇到问题,请尝试将 SYMAS_DEBUG 设置为 true 并将 LDAP_LOGLEVEL 设置为 256(或 -1 以输出所有消息,或其他适合您需求的值)。将 SYMAS_DEBUG_SETUP 设置为 yes 将在设置阶段输出每个 Bash 命令(set -x)。更多信息可在我们的知识库、OpenLDAP 网站、文档、快速入门指南和详细的手册页中找到。我们发布的内容正是此容器中提供的内容;所有内容均为开源。
您也可以随时致电:+1.650.963.7601,或直接向 销售 或 支持 团队发送电子邮件咨询问题。有关我们支持服务的更多信息,请访问我们的网站。
欢迎联系我们;我们随时为您提供帮助。
consoledocker run --name openldap symas/openldap:latest
consolecurl -sSL [***] > docker-compose.yml docker-compose up -d
bitnami/openldap 容器的替代品,在相同版本下实现无缝替换。Dockerfile 链接了解我们从 Bitnami 借鉴的标签策略,以及滚动标签和不可变标签之间的区别,请参阅 Bitnami 文档页面。
您可以通过查看分支文件夹中的 tags-info.yaml 文件(即 symas/ASSET/BRANCH/DISTRO/tags-info.yaml)了解不同标签之间的对应关系。
通过关注 symas/containers GitHub 仓库 订阅项目更新。
获取 Symas OpenLDAP Docker 镜像的推荐方式是从 Docker Hub 注册表 拉取预构建镜像。
consoledocker pull symas/openldap:latest
要使用特定版本,您可以拉取带版本的标签。您可以在 Docker Hub 注册表中查看 可用版本列表。
consoledocker pull symas/openldap:[TAG]
如果需要,您也可以通过克隆仓库、进入包含 Dockerfile 的目录并执行 docker build 命令自行构建镜像。请记得将以下示例命令中的 APP、VERSION 和 OPERATING-SYSTEM 路径占位符替换为正确的值。
consolegit clone [***] cd symas/APP/VERSION/OPERATING-SYSTEM docker build -t symas/APP:latest .
使用 Docker 容器网络,在容器内运行的不同服务器可以轻松被应用容器访问,反之亦然。
连接到同一网络的容器可以使用容器名称作为主机名相互通信。
在此示例中,我们将使用 MariaDB Galera 实例,该实例将使用同一 Docker 网络上运行的 OpenLDAP 实例进行身份验证管理。
consoledocker network create my-network --driver bridge
使用 --network <NETWORK> 参数执行 docker run 命令,将容器附加到 my-network 网络。
consoledocker run --detach --rm --name openldap \ --network my-network \ --env LDAP_ADMIN_USERNAME=admin \ --env LDAP_ADMIN_PASSWORD=adminpassword \ --env LDAP_USERS=customuser \ --env LDAP_PASSWORDS=custompassword \ --env LDAP_ROOT=dc=example,dc=org \ --env LDAP_ADMIN_DN=cn=admin,dc=example,dc=org \ symas/openldap:latest
使用 --network <NETWORK> 参数执行 docker run 命令,将容器附加到 my-network 网络。
consoledocker run --detach --rm --name mariadb-galera \ --network my-network \ --env MARIADB_ROOT_PASSWORD=root-password \ --env MARIADB_GALERA_MARIABACKUP_PASSWORD=backup-password \ --env MARIADB_USER=customuser \ --env MARIADB_DATABASE=customdatabase \ --env MARIADB_ENABLE_LDAP=yes \ --env LDAP_URI=ldap://openldap:1389 \ --env LDAP_BASE=dc=example,dc=org \ --env LDAP_BIND_DN=cn=admin,dc=example,dc=org \ --env LDAP_BIND_PASSWORD=adminpassword \ bitnami/mariadb-galera:latest
最后,我们创建一个新的容器实例来启动 MariaDB 客户端,并连接到上一步创建的服务器:
consoledocker run -it --rm --name mariadb-client \ --network my-network \ bitnami/mariadb-galera:latest mysql -h mariadb-galera -u customuser -D customdatabase -pcustompassword
未指定时,Docker Compose 会自动设置新网络并将所有部署的服务附加到该网络。不过,我们将显式定义一个名为 my-network 的新 bridge 网络。在此示例中,假设您希望从自己的自定义应用镜像(在以下代码段中由服务名称 myapp 标识)连接到 OpenLDAP 服务器。
yamlversion: '2' networks: my-network: driver: bridge services: openldap: image: symas/openldap:latest ports: - '1389:1389' - '1636:1636' environment: - LDAP_ADMIN_USERNAME=admin - LDAP_ADMIN_PASSWORD=adminpassword - LDAP_USERS=user01,user02 - LDAP_PASSWORDS=password1,password2 networks: - my-network volumes: - 'openldap_data:/openldap' myapp: image: 'YOUR_APPLICATION_IMAGE' networks: - my-network volumes: openldap_data: driver: local
重要提示:
- 请将上述代码段中的 YOUR_APPLICATION_IMAGE 占位符替换为您的应用镜像
- 在应用容器中,使用主机名
openldap连接到 OpenLDAP 服务器
使用以下命令启动容器:
consoledocker-compose up -d
Symas Docker OpenLDAP 可通过以下环境变量轻松设置:
LDAP_PORT_NUMBER:OpenLDAP 监听请求的端口。支持特权端口(如 1389)。默认值:1389(非特权端口)。LDAP_ROOT:LDAP 树的 baseDN(或后缀)。默认值:dc=example,dc=orgLDAP_ADMIN_USERNAME:LDAP 数据库管理员用户。默认值:adminLDAP_ADMIN_PASSWORD:LDAP 数据库管理员密码。默认值:adminpasswordLDAP_ADMIN_PASSWORD_FILE:包含 LDAP 数据库管理员用户密码的文件路径。此值将覆盖 LDAP_ADMIN_PASSWORD 中指定的值。无默认值。LDAP_CONFIG_ADMIN_ENABLED:是否创建配置管理员用户。默认值:no。LDAP_CONFIG_ADMIN_USERNAME:LDAP 配置管理员用户。与 LDAP_ADMIN_USERNAME 分开。默认值:admin。LDAP_CONFIG_ADMIN_PASSWORD:LDAP 配置管理员密码。默认值:configpassword。LDAP_CONFIG_ADMIN_PASSWORD_FILE:包含 LDAP 配置管理员用户密码的文件路径。此值将覆盖 LDAP_CONFIG_ADMIN_PASSWORD 中指定的值。无默认值。LDAP_USERS:要在默认 LDAP 树中创建的 LDAP 用户的逗号分隔列表。默认值:user01,user02LDAP_PASSWORDS:用于 LDAP 用户的密码的逗号分隔列表。默认值:bitnami1,bitnami2LDAP_USER_DC:用户组织单元的 DC。默认值:usersLDAP_GROUP:用于对创建的用户进行分组的组。默认值:readersLDAP_ADD_SCHEMAS:是否添加 LDAP_EXTRA_SCHEMAS 中指定的模式。默认值:yesLDAP_EXTRA_SCHEMAS:要添加的额外模式,属于 OpenLDAP 分布式模式。默认值:cosine, inetorgperson, nisLDAP_SKIP_DEFAULT_TREE:是否跳过基于 LDAP_USERS、LDAP_PASSWORDS、LDAP_USER_DC 和 LDAP_GROUP 创建默认 LDAP 树。请注意,这不会跳过模式添加或 LDIF 文件导入。默认值:noLDAP_CUSTOM_LDIF_DIR:包含用于引导数据库的 LDIF 文件的目录位置。仅使用以 .ldif 结尾的文件。当使用 LDAP_CUSTOM_LDIF_DIR 时,将跳过基于 LDAP_USERS、LDAP_PASSWORDS、LDAP_USER_DC 和 LDAP_GROUP 的默认 LDAP 树。使用此选项时,将覆盖 LDAP_USERS、LDAP_PASSWORDS、LDAP_USER_DC 和 LDAP_GROUP 的使用。您应设置 LDAP_ROOT 为您的基础,以确保数据库上配置的 olcSuffix 与从 LDIF 文件导入的内容匹配。默认值:/ldifsLDAP_CUSTOM_SCHEMA_FILE:无法作为自定义 ldif 文件添加的自定义内部模式文件的位置(即包含某些 structuralObjectClass)。默认值:/schema/custom.ldifLDAP_CUSTOM_SCHEMA_DIR:包含无法作为自定义 ldif 文件添加的自定义内部模式文件的目录位置(即包含某些 structuralObjectClass)。可与上述 LDAP_CUSTOM_SCHEMA_FILE 一起使用或替代它来添加多个模式文件。默认值:/schemasLDAP_ULIMIT_NOFILES:最大打开文件描述符数。默认值:1024。LDAP_ALLOW_ANON_BINDING:允许***绑定到 LDAP 服务器。默认值:yes。LDAP_LOGLEVEL:设置 OpenLDAP 服务器的日志级别(有关可能值,请参见 <[***]>)。默认值:256。LDAP_PASSWORD_HASH:用于生成用户密码的哈希算法。必须是 {SSHA}、{SHA}、{SMD5}、{MD5}、{CRYPT} 和 {CLEARTEXT} 之一。默认值:{SSHA}。LDAP_CONFIGURE_PPOLICY:启用 ppolicy 模块并创建空配置。默认值:no。LDAP_PPOLICY_USE_LOCKOUT:锁定账户的绑定尝试是否始终返回错误。仅在 LDAP_CONFIGURE_PPOLICY 激活时应用。默认值:no。LDAP_PPOLICY_HASH_CLEARTEXT:是否自动哈希明文密码。仅在 LDAP_CONFIGURE_PPOLICY 激活时应用。默认值:no。您可以通过将 LDIF 文件放在 /ldifs 目录(或您在 LDAP_CUSTOM_LDIF_DIR 中定义的目录)中来引导数据库内容。这些文件只能包含基于您的基本 DN(由 LDAP_ROOT 设置)的内容。您不能在这些文件中设置例如 cn=config 的配置。
有关如何配置 OpenLDAP 的更多信息,请查看官方 OpenLDAP 配置参考。
覆盖是可添加到 OpenLDAP 服务器以扩展或修改其功能的动态模块。
此覆盖可在另一个数据库上记录对给定后端数据库的访问。
LDAP_ENABLE_ACCESSLOG:启用 accesslog 模块,除非另有指定,否则使用以下配置默认值。默认值:no。LDAP_ACCESSLOG_ADMIN_USERNAME:accesslog 数据库的管理员用户。默认值:admin。LDAP_ACCESSLOG_ADMIN_PASSWORD:accesslog 数据库的管理员密码。默认值:accesspassword。LDAP_ACCESSLOG_DB:将存储访问日志条目的数据库的 DN(可分辨名称)。仅在 LDAP_ENABLE_ACCESSLOG 激活时应用。默认值:cn=accesslog。LDAP_ACCESSLOG_LOGOPS:指定要记录的操作类型。常用操作集的有效别名:writes、reads、session 或 all。仅在 LDAP_ENABLE_ACCESSLOG 激活时应用。默认值:writes。LDAP_ACCESSLOG_LOGSUCCESS:是否记录成功的操作。仅在 LDAP_ENABLE_ACCESSLOG 激活时应用。默认值:TRUE。LDAP_ACCESSLOG_LOGPURGE:何时以及多久清除一次旧访问日志条目。格式为 "dd+hh:mm"。仅在 LDAP_ENABLE_ACCESSLOG 激活时应用。默认值:07+00:00 01+00:00。LDAP_ACCESSLOG_LOGOLD:确定应记录哪些条目的 LDAP 过滤器。仅在 LDAP_ENABLE_ACCESSLOG 激活时应用。默认值:(objectClass=*)。LDAP_ACCESSLOG_LOGOLDATTR:指定应记录的属性。仅在 LDAP_ENABLE_ACCESSLOG 激活时应用。默认值:objectClass。有关详细配置信息,请查看官方页面 OpenLDAP,覆盖,访问日志。
LDAP_ENABLE_SYNCPROV:启用 syncrepl 模块,除非另有指定,否则使用以下配置默认值。默认值:no。LDAP_SYNCPROV_CHECKPPOINT:每 100 次操作或 10 分钟(以先到者为准),contextCSN 将被 checkpoint。仅在 LDAP_ENABLE_SYNCPROV 激活时应用。默认值:100 10。探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务