Note from the publisher: You have managed to find some of our old content and it may be outdated and/or incorrect. Try searching in our docs for current information.
Containers are a new standard in cloud infrastructure, and Docker on CircleCI lets you build your entire CI and CD workflow with them.
What’s new? You can now use all Docker functionality within our build environments. All of the usual Docker commands work as expected, so you can build and run Docker containers to your heart’s content.
Why is this so cool? Docker containers let you remove almost all of the variables that differ between your test and production environments. You can specify everything from your Linux distro to what executables run at startup in a Dockerfile, build all of that information into a Docker image, test it, and deploy the exact same image byte-for-byte to production. You can now run this entire process on CircleCI.
Under the hood We already use container technology to create all of our customers’ build environments, and to offer the docker integration we had to support docker running securely within our multi-tenant environment and in nested mode within our own containers (docker-in-docker all the way!), which wasn’t completely trivial. We also underwent a third-party security review and took some time to put Docker on CircleCI through its paces, both on our own and in a limited beta.
Using Docker on CircleCI To help anyone interested in Docker on CircleCI get started quickly, we have thorough documentation that covers deployment of images to Docker Hub as well as continuous deployment of applications to AWS Elastic Beanstalk and Kubernetes on Google Compute Engine.
What’s next? Docker is such a flexible tool that we know there are many exciting applications that we haven’t even thought of yet. If you think you have an especially awesome use of Docker that you’d like to show off to the world, then please shoot an email to firstname.lastname@example.org to arrange a post on our blog all about it. Until then, happy Dockering everyone!