Managing Automated Builds in a Multi-Container Repository


I was wondering if anybody had any tips or strategies for using Docker Cloud to work with a project that uses several images that are managed with docker-compose.

Currently, our sources are managed in a single repository, as there are a few files/configurations that are shared across all of the images. Additionally, a few of our images depend on a common “base” image that is also in the same repository.

The file structure looks a little like this:

├── docker-compose.yml
└── src
    ├── common
    │   └── Dockerfile
    ├── service1
    │   └── Dockerfile
    └── service2
        └── Dockerfile

In the above structure, service1 and service2's Dockerfiles begin with FROM schmod/common:latest.

Right now, we use docker-compose build to build all of our images, which generally works pretty well for us (and a small shell script to tag/push all of the images when that’s done), but there does not seem to have any equivalent workflow available in Docker Cloud.

What’s the best way to ensure that my images are built in order, and to use Docker Cloud in this scenario without going crazy?