abstract
OpenLdap can provide powerful centralized account management and authorization, but its powerful function depends on the integration of multiple plug-ins. In order to facilitate the compilation and deployment of OpenLdap, I made a docker image and recorded its usage through this article.
Document environment
- Test environment for the code in this document
OpenLdap Docker deployment
Get image
docker push nginxbar/ldapsso:0.1
Container start
docker run -p 389:389 -p 636:636 --name ldapsso --detach nginxbar/ldapsso:0.1
Custom ldap domain
The default ldap domain of the image is nginxbar, the root domain is dc=nginxbar,dc=com, and the custom domain can be modified as follows
docker run -p 389:389 -p 636:636 \ -e DOMAIN=ldapsso \ -e BASE_DN=dc=ldapsso,dc=com \ --name ldapsso --detach nginxbar/ldapsso:0.1
Change administrator and password
Modify the administrator account and password through the environment variables ADMIN and config ﹣ pass
docker run -p 389:389 -p 636:636 \ -e ADMIN=superadmin \ -e CONFIG_PASS=admin \ --name ldapsso --detach nginxbar/ldapsso:0.1
AD domain integration
The image has been configured with the AD integrated environment. When using it, you only need to configure the relevant parameters of the AD domain.
docker run -p 389:389 -p 636:636 \ -e AD_SERVER=xxx.xxx.xxx.xxx \ -e AD_BASE_DN=DC=office,DC=nginxbar,dc=com \ -e AD_BIND_DN=CN=admin,CN=Users,DC=office,DC=nginxbar,dc=com \ -e AD_PASSWD=abcdefg --detach nginxbar/ldapsso:0.1
Password change
The image integrates a self modifying password web program, which is directly accessed through port 8080.
docker run -p 389:389 -p 636:636 -p 8080:8080 --name ldapsso --detach nginxbar/ldapsso:0.1
Docker compose script
version: '3.3' services: ldapsso: hostname: ldapsso image: nginxbar/ldapsso:0.1 container_name: ldapsso ports: - 389:389 - 636:636 - 8080:8080 environment: - HOSTNAME=localhost - LOG_LEVEL=256 - ADMIN=root - CONFIG_PASS=admin - DOMAIN=ldapsso - BASE_DN=dc=ldapsso,dc=com - AD_SERVER=xxx.xxx.xxx.xxx - AD_BASE_DN=DC=office,DC=nginxbar,DC=com - AD_BIND_DN=CN=admin,CN=Users,DC=office,DC=nginxbar,dc=com - AD_PASSWD=abcdefg