Docker安装LDAP

前言

轻型目录访问协议英文Lightweight Directory Access Protocol缩写LDAP,/ˈɛldæp/)是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息。

LDAP的主要应用场景

1.网络服务:DNS服务
2.统一认证服务:
3.Linux PAM (ssh, login, cvs. . . )
4.Apache访问控制
5.各种服务登录(ftpd, php based, perl based, python based. . . )
6.个人信息类,如地址簿
7.服务器信息,如帐号管理、邮件服务等

注意:从OpenLDAP2.4.23版本开始所有配置数据都保存在/etc/openldap/slapd.d/中,不再使用slapd.conf作为配置文件

安装

LDAP

安装工具

1
2
docker pull osixia/openldap
docker image list
  • 安装后的目录:/etc/openldap/
  • 数据文件路径:/var/lib/ldap
  • 配置文件路径:/etc/ldap/slapd.d
  • 模板数据库配置文件:/usr/share/openldap-servers/DB_CONFIG.example
  • /usr/share/openldap-servers/slapd.ldif

启动容器

映射端口

1
docker run -p 389:389 -p 636:636 --name openldap-container --detach osixia/openldap:latest

映射环境

1
2
3
4
5
6
7
docker run -p 389:389 -p 636:636 \
--env LDAP_ORGANISATION="maxzhao" \
--env LDAP_DOMAIN="maxzhao.com" \
--env LDAP_ADMIN_PASSWORD="maxzhao" \
--volume /data/slapd/var/lib/ldap:/var/lib/ldap \
--volume /data/slapd/etc/ldap/slapd.d:/etc/ldap/slapd.d \
--name openldap-container --detach osixia/openldap:latest

构建自己的镜像

主机与容器匹配用户

1
2
3
4
5
6
7
docker build \
--build-arg LDAP_OPENLDAP_GID=1234 \
--build-arg LDAP_OPENLDAP_UID=2345 \
-t my_ldap_image .
docker run --name my_ldap_container -d my_ldap_image
# this should output uid=2345(openldap) gid=1234(openldap) groups=1234(openldap)
docker exec my_ldap_container id openldap

连接工具

apache directory studio下载

查看配置

1
cat /data/slapd/etc/ldap/slapd.d/cn\=config/olcDatabase\=\{1\}mdb.ldif

image-20220519165543873

新建 Connection

image-20220519165509438

image-20220519165521134

参考:

docker-openldap

本文地址: https://github.com/maxzhao-it/blog/post/4c3b1032/