Skip to content
Dockerfile to build an ApacheDS container providing an LDAP and optionally a Kerberos service.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
sample Initial commit. Feb 28, 2015


This Docker image provides an ApacheDS LDAP server. Optionally it could be used to provide a Kerberos server as well.

The project sources can be found on GitHub. The Docker image on Docker Hub.


git clone
docker build -t h3nrik/apacheds .


The folder /var/lib/apacheds-${APACHEDS_VERSION} contains the runtime data and thus has been defined as a volume. A volume container could be used for that. The image uses exactly the file system structure defined by the ApacheDS documentation.

The container can be started issuing the following command:

docker run --name ldap -d -p 389:10389 h3nrik/apacheds


You can manage the ldap server with the admin user uid=admin,ou=system and the default password secret. The default instance comes with a pre-configured partition dc=example,dc=com.

An indivitual admin password should be set following this manual.

Then you can import entries into that partition via your own ldif file. A sample.ldif file is provided with the sources:

ldapadd -v -h <your-docker-ip>:389 -c -x -D uid=admin,ou=system -w <your-admin-password> -f `pwd`/sample/sample.ldif


It is also possible to start up your own defined Apache DS instance with your own configuration for partitions and services. Therefore you need to mount your config.ldif file and set the APACHEDS_INSTANCE environment variable properly. In the provided sample configuration the instance is named default. Assuming your custom instance is called yourinstance the following command will do the trick:

docker run --name ldap -d -p 389:10389 -e APACHEDS_INSTANCE=yourinstance -v /path/to/your/config.ldif:/bootstrap/conf/config.ldif:ro h3nrik/apacheds

It would be possible to use this ApacheDS image to provide a Kerberos server as well. Just provide your own config.ldif file for that. Don't forget to expose the right port, then.

Also other services are possible. For further information read the configuration documentation.

You can’t perform that action at this time.