A modern continuous delivery process for your Docker applications.

CircleCI can support any Docker-based build, test, and deployment workflow. With complete flexibility to run any Docker commands and access public or private registries, you can ship modern applications faster and more reliably than ever before.

sign up for free

Why Docker?

We've all heard a lot about Docker– why exactly is everyone so excited?

Dev-test-production equivalence

Any containers you use locally as part of your dev environment, as well as any containerized services that will be running in production, can also be run in your test environment on CircleCI. Just docker pull in anything you need.

Deploy any application as a single binary artifact

Don't you love the thrill of making sure you have a robust set of scripts and recipes to setup the same exact same Nginx, uwsgi, and Django configuration on every production server? Of course you don't! Docker lets you specify everything from your Linux distro to config files 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.

Efficient OS-level containerization

Dividing infrastructure into many little VMs wastes a lot of computing resources by over-allocating CPU, RAM, and Disk capacity to each VM. On the other hand, higher-level, PaaS-style encapsulation is often too restrictive for application and service developers. Docker's model takes advantage of Linux kernel features to achieve lightweight isolation between containers. This allows for much more efficient utilization of computing resources, giving you more bang for your hardware buck.

Using Docker on CircleCI

Here are just a few of the things you can do with Docker on CircleCI.

Public and private Docker registry support

You can use the docker pull and docker push commands as usual on CircleCI, meaning that you can interact with any Docker registry server.

Easy integration tests for a microservice architecture

You can run as many Docker containers as you like on CircleCI. If your production application consists of three interconnected services, you can pull them all down into a CircleCI container, link them together, and test them together.

Continuous Delivery of your Docker images

Once you have built an image and optionally pushed it to a registry, CircleCI makes it easy to deploy applications to AWS Elastic Beanstalk, Google Container Engine, CoreOS, Docker Swarm or any other host that can run Docker containers.

1. Checkout

CircleCI checks out your code from GitHub.

2. Docker images

Docker base images, or images for any dependent services can be pulled from any Docker registry.

3. Build and test

CircleCI builds, runs, and tests Docker images in any configuration.

4. Docker registry

When all tests pass, built Docker images are pushed to the registry.

5. Deploy

CircleCI can trigger a deployment of new images to any Docker host with an API.

Bleacher Report Logo
Felix Rodriguez
DevOps Engineer at Bleacher Report
“With just one line of code you have access to all of the power of Docker.”