容器化部署LDAP
容器化部署LDAP和PHP-LDAP-Admin可以帮助你在Docker环境中快速搭建和管理LDAP服务。
1. 部署OpenLDAP容器
password='123456'
docker run \
-d -p 389:389 -p 636:636 \
--name openldap \
--restart=always \
--hostname openldap \
-v /data/docker_tmp/openldap/slapd/database:/var/lib/ldap \
-v /data/docker_tmp/openldap/slapd/config:/etc/ldap/slapd.d \
--env LDAP_ORGANISATION="ev5.top" \
--env LDAP_DOMAIN="ev5.top" \
--env LDAP_BASE_DN="dc=ev5,dc=top" \
--env LDAP_ADMIN_PASSWORD=$password \
registry.cn-beijing.aliyuncs.com/zygpubilc/openldap:2.4.57
解释:
-p 389:389
:映射容器的389端口,提供LDAP的非加密访问。-p 636:636
:映射容器的636端口,提供SSL加密的LDAP访问。--name openldap
:容器名称设置为openldap
。--restart=always
:容器会在异常退出或主机重启后自动重启。--hostname openldap
:设置容器内部的主机名称为openldap
。-v /data/docker_tmp/openldap/slapd/database:/var/lib/ldap
:将LDAP数据持久化存储到本地主机的指定目录,确保容器重启或更新时数据不会丢失。-v /data/docker_tmp/openldap/slapd/config:/etc/ldap/slapd.d
:将LDAP配置文件持久化到本地,方便管理和备份配置。--env LDAP_ORGANISATION="ev5.top"
:指定LDAP的组织名称,通常是公司的名称。--env LDAP_DOMAIN="ev5.top"
:配置LDAP域名,作为LDAP目录树的顶端。--env LDAP_BASE_DN="dc=ev5,dc=top"
:配置LDAP的基础DN,定义LDAP的目录结构根。--env LDAP_ADMIN_PASSWORD=$password
:设置管理员密码,密码可以通过环境变量传递,保持灵活性。
2. 部署PHP-LDAP-Admin容器
docker run \
-p 8082:80 \
--name ldapadmin \
--link openldap:ldap \
--env PHPLDAPADMIN_LDAP_HOSTS=ldap \
--env PHPLDAPADMIN_HTTPS=false \
--detach registry.cn-beijing.aliyuncs.com/zygpubilc/phpldapadmin:0.8.0
解释:
-p 8082:80
:映射容器的80端口到主机的8082端口,通过浏览器访问http://<主机IP>:8082
管理LDAP。--name ldapadmin
:将容器命名为ldapadmin
。--link openldap:ldap
:通过Docker的--link
参数,将ldapadmin
容器连接到openldap
容器,使得ldapadmin
可以通过ldap
名称访问LDAP服务。--env PHPLDAPADMIN_LDAP_HOSTS=ldap
:设置phpLDAPadmin连接的LDAP服务器主机名为ldap
,即上面openldap
容器。--env PHPLDAPADMIN_HTTPS=false
:禁用HTTPS,方便测试环境下的使用。--detach
:后台运行容器。
访问与管理
- 启动完容器后,可以通过LDAP客户端或
phpLDAPadmin
管理界面对LDAP进行管理。 - 打开浏览器,访问
http://<主机IP>:8082
,进入phpLDAPadmin界面,使用cn=admin,dc=ev5,dc=top
和管理员密码登录管理LDAP。
本文来自博客园,作者:&UnstopPable,转载请注明原文链接:https://www.cnblogs.com/Unstoppable9527/p/18416458