docker 搭建 OpenLDAP

镜像选择

https://github.com/osixia/docker-openldap

基本知识点

什么是 LDAP?

LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。LDAP的核心规范可参见RFC定义:LDAPman RFC page

LDAP目录以树状的层次结构来存储数据。如果你对自顶向下的DNS树或UNIX文件的目录树比较熟悉,也就很容易掌握LDAP目录树这个概念了。就象DNS的主机名那样,LDAP目录记录的标识名(Distinguished Name,简称DN)是用来读取单个记录,以及回溯到树的顶部。

为什么用 OpenLDAP?

用LDAP的原因,主要可以总结为三点:轻,快,好。

轻,表现在搭建简单,开放的Internet标准,支持跨平台的Internet协议。与市场上和开源领域的大多数产品兼容。配置简单,重复开发和对接的成本低。

快,读的速度快。目录是一个为查询、浏览和搜索而优化的数据库,它成树状结构组织数据,类似文件目录一样。目录数据库和关系数据库不同,它有优异的读性能(但写性能差,并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。)

好,动态,灵活,易扩展。

那么为什么用OpenLDAP呢?当然是因为免费而方便咯。

怎么用 OpenLDAP?

1. 使用yum install等等传统搭建方式

2. 使用DOCKER。吹爆docker,虽然LDAP已经很轻了,但是在windows系统上,选择docker仍然不失为非常便利的方式

搭建 OpenLDAP

1. 起一个 OpenLDAP docker image 的 container

docker run --name my-openldap-container  --detach osixia/openldap:1.2.2

通过环境变量设置 LDAP 服务器的参数:

LDAP_ORGANISATION: Organisation name. Defaults to Example Inc.

LDAP_DOMAIN: Ldap domain. Defaults to example.org

LDAP_BASE_DN: Ldap base DN. If empty automatically set from LDAP_DOMAIN value. Defaults to (empty)

LDAP_ADMIN_PASSWORD Ldap Admin password. Defaults to admin

LDAP_CONFIG_PASSWORD Ldap Config password. Defaults to config

LDAP_READONLY_USER Add a read only user. Defaults to false

LDAP_READONLY_USER_USERNAME Read only user username. Defaults to readonly

LDAP_READONLY_USER_PASSWORD Read only user password. Defaults to readonly

LDAP_RFC2307BIS_SCHEMA Use rfc2307bis schema instead of nis schema. Defaults to false

2. 通过ldapsearch,ldapadd,ldapdelete,ldapmodify等参数查询、新增、删除、修改内容信息

docker exec my-openldap-container ldapsearch -x -H ldap://localhost -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w admin

docker exec $LDAP_CID ldapadd -x -D "cn=admin,dc=example,dc=org" -w admin -f /container/service/slapd/assets/test/new-user.ldif -H ldap://ldap.example.org -ZZ

3. 更多内容,参见GitHub。

界面化查询

附一个查询工具。Emmmm,没找到附件模式,可能不支持?

你可能感兴趣的:(docker 搭建 OpenLDAP)