!Docker Stars !Docker Pulls
该镜像提供了一个用于测试LDAP应用(如单元测试)的OpenLDAP服务器。默认情况下,服务器会使用示例域ldapmock.local以及一组posix用户/组进行初始化。
本镜像基于https://github.com/rroemhild%E7%9A%84https://github.com/rroemhild/docker-test-openldap%E9%A1%B9%E7%9B%AE%E6%9E%84%E5%BB%BA%E3%80%82
本镜像非自动构建,源代码可在https://github.com/docker-ThoTeam/slapd-server-mock%E8%8E%B7%E5%8F%96%E3%80%82
如标题所示,本镜像仅用于测试,绝不可用于任何生产环境。 slapd配置极简,容器不将任何数据存储在持久卷中。模拟数据在容器创建时引导生成,删除容器时即丢失。
首先需将镜像拉取到本地
bashdocker pull thoteam/slapd-server-mock
可快速启动一个使用默认模拟数据初始化的容器:
bash# 在Docker网络中供其他容器访问 docker run -d --name my_slapd_mock --network my-network thoteam/slapd-server-mock # 从本地主机或网络中其他主机访问slapd容器 docker run -d -p 389:389 -p 636:636 --name my_slapd_mock thoteam/slapd-server-mock
可通过环境变量和挂载自定义文件轻松定制用于初始化模拟实例的数据。
环境变量
可在容器中设置以下环境变量:
| 变量名 | 默认值 | 用途 |
|---|---|---|
| LDAP_SECRET | adminpass | slapd管理员密码 |
| LDAP_DOMAIN | ldapmock.local | 用作slapd的配置域并创建自签名SSL证书 |
| LDAP_ORGANISATION | LDAP Mock, Inc. | 用作slapd的配置组织 |
| LDAP_DEBUG_LEVEL | 256 | slapd调试级别(参见man slapd) |
| BOOTSTRAP_DIR | /bootstrap | 存放引导文件的目录,其中包含config.ldif和data.ldif |
以下变量由上述变量计算得出(若手动设置将覆盖计算值):
| 变量名 | 默认值 | 用途 |
|---|---|---|
| LDAP_BASEDN | dc=ldapmock,dc=local | 动态基准DN(用于模板等) |
| LDAP_BINDDN | cn=admin,dc=ldapmock,dc=local | slapd管理员绑定DN |
引导配置和数据
容器命令run.sh会启动slapd-init.sh脚本。
slapd-init.sh脚本期望在$BOOTSTRAP_DIR目录下存在两个LDIF模板文件:
config.ldif.TEMPLATE:包含slapd配置和 schema 的调整指令data.ldif.TEMPLATE:包含服务器中实际存在的条目(如用户和组)这些文件可包含bash变量表达式,容器启动时会通过gettext包的envsubst命令替换为环境变量值。默认数据模板允许根据所选域名配置所有条目的LDAP_BASEDN。
要覆盖这些文件,只需将本地文件挂载到容器中相应位置。如有需要,可通过设置$BOOTSTRAP_DIR更改容器中默认的/bootstrap目录位置。
bash# 仅覆盖数据 docker run -d --name my_slapd_mock -v /path/to/my/data.ldif:/bootstrap/data.ldif.TEMPLATE thoteam/slapd-server-mock # 同时覆盖数据和配置 docker run -d --name my_slapd_mock -v /path/to/my/bootstrap_dir:/bootstrap thoteam/slapd-server-mock # 在自定义位置覆盖 docker run -d --name my_slapd_mock -v /path/to/my/bootstrap_dir:/customdir -e BOOTSTRAP_DIR=/customdir thoteam/slapd-server-mock
默认LDAP对象定义详见bootstrap/data.ldif。所有用户的密码均为:password
dc=ldapmock,dc=local | cn=admin,dc=ldapmock,dc=local | └─── ou=people,dc=ldapmock,dc=local | | uid=adminuser1,ou=people,dc=ldapmock,dc=local | | uid=adminuser2,ou=people,dc=ldapmock,dc=local | | uid=developper1,ou=people,dc=ldapmock,dc=local | | uid=developper2,ou=people,dc=ldapmock,dc=local | | uid=developper3,ou=people,dc=ldapmock,dc=local | | uid=developper4,ou=people,dc=ldapmock,dc=local | └─── ou=groups,dc=ldapmock,dc=local | └─── cn=admin,ou=groups,dc=ldapmock,dc=local | | memberUID:adminuser1 | | memberUID:adminuser2 | └─── cn=developers,ou=groups,dc=ldapmock,dc=local | memberUID:developper1 | memberUID:developper2 | memberUID:developper3 | memberUID:developper4
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务