Adobe Experience Manager & Docker — Part 2

So last time I left you, I’d put together a post on getting an Adobe Experience Manager 6 Author instance running in a Docker container. It was a great way for me to get my head around Docker, while also playing with the technology stack I’m currently using at work. Getting it running was fun, but by itself a single Author instance is a little pointless; you can achieve the same thing by clicking on the AEM JAR.

What isn’t pointless, is an Author+Publisher+Dispatcher stack, all running in individual Docker containers. To orchestrate all this madness, I’ve put together a Fig YAML file within a GitHub repo to co-ordinate the various containers. Fig basically is an orchestration utility for Docker to help describe relationships between containers.

Why Docker? It allows you to have a portable full AEM stack that you can distribute amongst your development team. The power of containerising the various AEM components allows you to ensure a consistent and repeatable configuration between team members. I definitely wouldn’t be using this in a production setting, but it’s perfectly fine for development.

Getting Started

  1. Make sure you’ve got Docker, Fig and boot2docker available; boot2docker is only required on MacOS X or Windows.
  2. Clone/Download the Github repo.
  3. Copy your the installation media and license files into the author and publisher directories. The install media must be given specific names depending on location. cq-author-4502.jar for author, and cq-publish-4503.jar for the publisher.
  4. Navigate to the basedirectory, and run: fig up.
  5. Go get a coffee.
  6. If all has gone to plan, the stack should be running. If you’re using boot2docker, you’ll need to reference it via its IP ( you can find it using boot2docker ip ). The ports are as follows:

Hopefully you’ll be able to enjoy your full stack AEM development.

A couple of notes/caveats