https://github.com/osixia/docker-openldap
docker pull osixia/openldap
docker pull osixia/phpldapadmin
docker run \
-d \
-p 389:389 \
-p 636:636 \
-v /usr/local/ldap:/usr/local/ldap \
-v /data/openldap/ldap:/var/lib/ldap \
-v /data/openldap/slapd.d:/etc/ldap/slapd.d \
--env LDAP_ORGANISATION="limikeji" \
--env LDAP_DOMAIN="limikeji.com" \
--env LDAP_ADMIN_PASSWORD="qwe*123456" \
--name openldap \
--hostname openldap-host\
--network bridge \
osixia/openldap:1.4.0
-v /data/openldap/ldap:/var/lib/ldap:将数据持久化到本地
其中 -p 389:389 \ TCP/IP 访问端口,-p 636:636 \ SSL 连接端口。
–name your_ldap 自行设置容器名称
–network bridge 连接默认的 bridge 网络(docker0)
–hostname openldap-host 设置容器主机名称为 openldap-host
–env LDAP_ORGANISATION=“company” 配置 LDAP 组织名称
–env LDAP_DOMAIN=“company.com” 配置 LDAP 域名
–env LDAP_ADMIN_PASSWORD=“123456” 配置 LDAP 密码
默认登录用户名:admin
docker run \
-p 8080:80 \
--privileged \
--name limildap \
--env PHPLDAPADMIN_HTTPS=false \
--env PHPLDAPADMIN_LDAP_HOSTS=172.17.148.238 \
--detach osixia/phpldapadmin
-d 分离模式启动容器
–privileged 特权模式启动(使用该参数,container 内的 root 拥有真正的 root 权限。
否则,container 内的 root 只是外部的一个普通用户权限。)
–env PHPLDAPADMIN_HTTPS=false 禁用 HTTPS
–env PHPLDAPADMIN_LDAP_HOSTS =172.17.148.238 配置 openLDAP 的 IP 或者域名,我的 openLDAP 是在服务器 172.17.148.238 启动。
此处设置访问端口为 8080,可自行更改访问端口号
至此 openldap 使用 docker 安装完成
$ docker exec -it openldap slapd -V
@(#) $OpenLDAP: slapd 2.4.50+dfsg-1~bpo10+1 (May 4 2020 05:25:06) $
Debian OpenLDAP Maintainers <pkg-openldap-devel@lists.alioth.debian.org>
查看状态:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b0a3b2be8c6e osixia/openldap:1.4.0 "/container/tool/run" 37 minutes ago Up 37 minutes 0.0.0.0:389->389/tcp, 0.0.0.0:636->636/tcp openldap
e7615fbde6e2 osixia/phpldapadmin "/container/tool/run" 18 hours ago Up 18 hours 443/tcp, 0.0.0.0:8080->80/tcp limildap lute-http
其他操作:
docker exec -it openldap ldapadd -x -D "cn=admin,dc=limikeji,dc=com" -w'qwe*123456' -f /usr/local/ldap/cuijianzhe.ldif #添加人员
docker cp cuijianzhe.ldif ldap:/etc/