The ascendance of Docker and other containerization/virtualization tools over the past few years has helped bring about about a new focus on some software development values that are dear to our heart at CircleCI—consistency, automation, and continuity; that is, developing software within a consistent build environment, testing it in an automated fashion, and deploying it with a focus on continuous delivery of new code.

We released CircleCI 2.0 last summer with these values in mind, placing Docker at the core of our Continuous Integration platform and allowing customers to build projects on CircleCI using any combination of Docker images as build environments.

In practice, however, building and customizing your own Docker images with the precise versions of every language and dependency that you need can be tricky, tedious, and intimidating—especially for software developers who are still new to Docker. For that reason, we publish a wide range of convenience Docker images with common combinations of software toolsets and build environments.

But what if you’re using an older version of such-and-such tool that our convenience images don’t cover, or just want more options? Well, now we’ve developed a Docker tool that might help. Our new Dockerfile Wizard allows you to build and deploy your own custom Docker images on CircleCI—and all you need is a Docker Hub account (and a CircleCI account, of course).


To use it, fork the dockerfile-wizard repository to your GitHub account and start building your fork of the project on CircleCI. Then, by following the instructions in the README, you can customize and build your Docker image right on CircleCI, without even needing to install Docker onto your local computer.

When it’s done, you’ll have a Docker image that you can use in any of your projects building on CircleCI—or anywhere else.

Continuous Integration works best when you can maintain a consistent software environment, from your local development machine to your CI builds. Dockerfile Wizard will help you do just that.

We hope this tool gets you one step closer to never having to say “it worked on my local machine, but not on CircleCI” again.