使用 docker 安装 openldap
文章目录
- (1) 基本安装
- (2) 使用外部目录
- (3) 使用外部证书
Dockerfile 参考:https://github.com/bitnami/containers/tree/main/bitnami/openldap
Docker Hub 参考:https://hub.docker.com/r/bitnami/openldap
(1) 基本安装
$ docker run -d -p 1389:1389 --restart=always --name openldap \--env LDAP_ADMIN_USERNAME=xiodiadmin \--env LDAP_ADMIN_PASSWORD=Xiodi.cn123456 \--env LDAP_USERS=user1 \--env LDAP_PASSWORDS=Xiodi.cn123 \--env LDAP_ROOT=dc=xiodi,dc=cn \--env LDAP_ALLOW_ANON_BINDING=no \bitnami/openldap:2.6.10
- 未加密端口为 1389
- 加密端口 636 未启用
- 管理员:cn=xiodiadmin,dc=xiodi,dc=cn,密码为 Xiodi.cn123456
- 默认会创建 ou=users,dc=xiodi,dc=cn,ou=groups,dc=xiodi,dc=cn 两个组织单位
- 普通用户:cn=user1,ou=users,dc=xiodi,dc=cn,密码为 Xiodi.cn123
- 默认会创建一个组:cn=readers,ou=users,dc=xiodi,dc=cn,这个一般用不上
- 数据目录:/bitnami/openldap/data
- 配置目录:/bitnami/openldap/slapd.d
(2) 使用外部目录
$ mkdir -pv /data/openldap
$ chown 1001:1001 /data/openldap # 1001 是容器内部使用的 user id
$ docker run -d -p 1389:1389 --restart=always --name openldap \--env LDAP_ADMIN_USERNAME=xiodiadmin \--env LDAP_ADMIN_PASSWORD=Xiodi.cn123456 \--env LDAP_USERS=user1 \--env LDAP_PASSWORDS=Xiodi.cn123 \--env LDAP_ROOT=dc=xiodi,dc=cn \--env LDAP_ALLOW_ANON_BINDING=no \-v /data/openldap:/bitnami/openldap \bitnami/openldap:2.6.10
(3) 使用外部证书
//生成证书
$ rm -rf /data/openldap/{slapd.d,data}$ mkdir /data/openldap/certs
$ cp -r /etc/ldap/certs/* /data/openldap/certs/
$ chown -R 1001:1001 /data/openldap/certs
这里直接使用的前面安装时的证书。
$ docker run -d -p 1389:1389 -p 1636:1636 --restart=always --name openldap \--env LDAP_ADMIN_USERNAME=xiodiadmin \--env LDAP_ADMIN_PASSWORD=Xiodi.cn123456 \--env LDAP_USERS=user1 \--env LDAP_PASSWORDS=Xiodi.cn123 \--env LDAP_ROOT=dc=xiodi,dc=cn \--env LDAP_ALLOW_ANON_BINDING=no \-v /data/openldap:/bitnami/openldap \-e LDAP_ENABLE_TLS=yes \-e LDAP_TLS_CERT_FILE=/bitnami/openldap/certs/xiodi.cn.crt \-e LDAP_TLS_KEY_FILE=/bitnami/openldap/certs/xiodi.cn.key \-e LDAP_TLS_CA_FILE=/bitnami/openldap/certs/ca.crt \bitnami/openldap:2.6.10