容器化 OpenLDAP 迁移
这次使用的是 bitnami/openldap 镜像。 唯一不好的是,在第一次启动初始化数据如果出错,会直接退出而不是打印错误信息,只能对照错误码去找。
文档在 Docker Hub: bitnami/openldap 上。
docker compose 文件:
services:
openldap:
image: bitnami/openldap:latest
container_name: openldap
ports:
- 389:1389
- 636:1636
environment:
- TZ=Asia/Shanghai
- LDAP_ADMIN_USERNAME=ldapadm
- LDAP_ADMIN_PASSWORD=password
- LDAP_ALLOW_ANON_BINDING=no
- "LDAP_EXTRA_SCHEMAS=cosine, inetorgperson"
- "LDAP_ADMIN_DN=cn=ldapadm,dc=azuk,dc=top"
- "LDAP_ROOT=dc=azuk,dc=top"
- "LDAP_ENABLE_TLS=yes"
- "LDAP_TLS_CERT_FILE=/cert/ldap.pem"
- "LDAP_TLS_KEY_FILE=/cert/ldap.key"
- "LDAP_TLS_CA_FILE=/cert/ca.pem"
volumes:
- ./data:/bitnami/openldap
- "./cert:/cert:ro"
- "./custom-schema.ldif:/schema/custom.ldif:ro"
- ./ldifs:/ldifs
这里设置 LDAP_EXTRA_SCHEMAS
是为了排除它默认有的 nis ,因为要用 rfc2307bis ,防止冲突。
容器默认用户/组是 1001:1001 ,证书需要设置权限,否则初始化报错。