Skip to content
Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Docker Apache Directory Server container

Copyright © 2022 Internet2, All Rights Reserved Licensed under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license

This container supplies an installation of Apache Directory Server which can be used in connection with other services/containers to bootstrap demos of components which depend on an LDAP directory, Kerberos, or both. Since the Apache Directory Server wrapper currently fails to run on non-Intel architectures, this container can be used on non-Intel x86-64-based architectures to provide a local instance of Apache Directory Server as follows:

Dependencies:

-Runtime environment such as Docker Desktop or similar -For non-x86-64 architecture-based systems, the ability for your Docker to use the virtualization framework, qemu, or similar to emulate x86-64 architecture

Clone this repo, and then run:

docker buildx build --platform linux/amd64 - < Dockerfile -t apacheds

This will build the container and push it to the local Docker repo. Then, run the container as follows:

docker run --platform linux/amd64 -dt --name apacheds_container -p 10389:10389 -p 10636:10636 -p 60464:60464 -p 60464:60464/udp -p 60088:60088 -p 60088:60088/udp apacheds:latest

This will start the container with the necessary ports for:

  • LDAP binds
  • LDAPS binds
  • Remote password changes
  • Kerberos KDC

You may then use a client tool such as Apache Directory Studio, the Apache Directory Studio Eclipse plugin, ldapsearch, or client libraries in your programming framework of choice to bind against the directory.

The superuser bind DN is: uid=admin,ou=system The superuser bind password (plaintext) is: secret

It is advisable to change these defaults if you plan to run this container anywhere other than a locked-down development environment.