Menu

Pre-Built CircleCI Docker Images

Reference > Pre-Built CircleCI Docker Images

For convenience, CircleCI maintains several Docker images. These images are extensions of official Docker images and include tools that are especially useful for CI/CD. All of these pre-built images are available in the CircleCI org on Docker Hub. The source code and Dockerfiles for these images are available in this GitHub repository.

Image Types

CircleCI’s pre-built Docker images fall into two categories: language images and service images. All images add a circleci user as a system user.

Language Images

Language images are images for common programming languages, along with some common pre-installed tools. A language image should be listed first under the docker key in your configuration, thus becoming the primary container during execution.

CircleCI maintains language images for the following languages:

Service Images

Service images are images for services like databases. These images should be listed after language images so they become secondary service containers.

CircleCI maintains service images for the following services:

How to Get Started with Pre-Built Docker Images Video Tutorial

Pre-installed Tools

All convenience images have been extended with additional tools.

APT Packages

The following packages are installed with apt-get on every image:

Other Packages

The following packages are installed via curl or other means:

Image Variants

CircleCI maintains variants of convenience images. These can be created by adding optional suffixes to the end of image tags.

Note: If you choose to use the latest tag, the image may change unexpectedly and create surprising results.

Language Image Variants

  • -node: includes Node.js for polyglot applications
  • -browsers: includes Java 8, PhantomJS, Firefox, and Chrome
  • -node-browsers: a combination of the -node and -browsers variants

Service Image Variants

  • -ram: variants that use the RAM volume to speed up builds

Android

Usage: Add the following under docker: in your config.yml:

- image: circleci/android:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • api-23-alpha
  • api-23-node8-alpha
  • api-24-alpha
  • api-24-node8-alpha
  • api-25-alpha
  • api-25-node8-alpha
  • api-26-alpha
  • api-26-node8-alpha
  • api-27-alpha
  • api-27-node8-alpha

buildpack-deps

Usage: Add the following under docker: in your config.yml:

- image: circleci/buildpack-deps:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • artful-browsers
  • artful-curl-browsers
  • artful-curl-dind
  • artful-dind
  • artful-scm-browsers
  • artful-scm-dind
  • bionic-browsers
  • bionic-curl
  • bionic-curl-browsers
  • bionic-curl-dind
  • bionic-scm-browsers
  • bionic-scm-dind
  • buster-browsers
  • buster-curl-browsers
  • buster-curl-dind
  • buster-dind
  • buster-scm-browsers
  • buster-scm-dind
  • curl-browsers
  • curl-dind
  • jessie-browsers
  • jessie-curl
  • jessie-curl-browsers
  • jessie-curl-dind
  • jessie-scm-browsers
  • jessie-scm-dind
  • latest-browsers
  • latest-dind
  • scm-browsers
  • scm-dind
  • sid-browsers
  • sid-curl-browsers
  • sid-scm-browsers
  • sid-scm-dind
  • stretch-browsers
  • stretch-curl-browsers
  • stretch-curl-dind
  • stretch-dind
  • stretch-scm-browsers
  • stretch-scm-dind
  • trusty-browsers
  • trusty-curl-browsers
  • trusty-curl-dind
  • trusty-scm-browsers
  • trusty-scm-dind
  • xenial-browsers
  • xenial-curl-browsers
  • xenial-curl-dind
  • xenial-scm-browsers
  • xenial-scm-dind

Clojure

Usage: Add the following under docker: in your config.yml:

- image: circleci/clojure:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • boot
  • boot-2.7.1
  • boot-2.7.1-browsers
  • boot-2.7.2
  • boot-2.7.2-browsers
  • boot-2.7.2-node
  • boot-2.7.2-node-browsers
  • boot-browsers
  • boot-node
  • boot-node-browsers
  • latest
  • latest-browsers
  • latest-node
  • latest-node-browsers
  • lein
  • lein-2.7.1
  • lein-2.7.1-browsers
  • lein-2.8.0
  • lein-2.8.0-browsers
  • lein-2.8.1
  • lein-2.8.1-browsers
  • lein-2.8.1-node
  • lein-2.8.1-node-browsers
  • lein-browsers
  • lein-node
  • lein-node-browsers

Elixir

Usage: Add the following under docker: in your config.yml:

- image: circleci/elixir:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • 1.2
  • 1.2-browsers
  • 1.2-node
  • 1.2-node-browsers
  • 1.2.6
  • 1.2.6-browsers
  • 1.2.6-node
  • 1.2.6-node-browsers
  • 1.3
  • 1.3-browsers
  • 1.3-node
  • 1.3-node-browsers
  • 1.3.4
  • 1.3.4-browsers
  • 1.3.4-node
  • 1.3.4-node-browsers
  • 1.4
  • 1.4-browsers
  • 1.4-node
  • 1.4-node-browsers
  • 1.4.5
  • 1.4.5-browsers
  • 1.4.5-node
  • 1.4.5-node-browsers
  • 1.5
  • 1.5-browsers
  • 1.5-node
  • 1.5-node-browsers
  • 1.5.2-browsers
  • 1.5.2-node-browsers
  • 1.5.3
  • 1.5.3-browsers
  • 1.5.3-node
  • 1.5.3-node-browsers
  • 1.6
  • 1.6-browsers
  • 1.6-node
  • 1.6-node-browsers
  • 1.6.0
  • 1.6.0-browsers
  • 1.6.0-node
  • 1.6.0-node-browsers
  • 1.6.1
  • 1.6.1-browsers
  • 1.6.1-node
  • 1.6.1-node-browsers
  • latest
  • latest-browsers
  • latest-node
  • latest-node-browsers

Go (Golang)

Usage: Add the following under docker: in your config.yml:

- image: circleci/golang:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • 1
  • 1-browsers
  • 1-stretch
  • 1-stretch-browsers
  • 1.10-rc
  • 1.10-rc-browsers
  • 1.10-rc-stretch
  • 1.10-rc-stretch-browsers
  • 1.10rc1-browsers
  • 1.10rc1-stretch
  • 1.10rc1-stretch-browsers
  • 1.10rc2
  • 1.10rc2-browsers
  • 1.10rc2-stretch
  • 1.10rc2-stretch-browsers
  • 1.8
  • 1.8-browsers
  • 1.8-jessie
  • 1.8-jessie-browsers
  • 1.8-stretch
  • 1.8-stretch-browsers
  • 1.8.6-browsers
  • 1.8.6-jessie-browsers
  • 1.8.6-stretch
  • 1.8.6-stretch-browsers
  • 1.8.7
  • 1.8.7-browsers
  • 1.8.7-jessie
  • 1.8.7-jessie-browsers
  • 1.8.7-stretch
  • 1.8.7-stretch-browsers
  • 1.9
  • 1.9-browsers
  • 1.9-stretch
  • 1.9-stretch-browsers
  • 1.9.3-browsers
  • 1.9.3-stretch
  • 1.9.3-stretch-browsers
  • 1.9.4
  • 1.9.4-browsers
  • 1.9.4-stretch
  • 1.9.4-stretch-browsers
  • latest
  • latest-browsers
  • rc
  • rc-browsers
  • rc-stretch
  • rc-stretch-browsers
  • stretch
  • stretch-browsers

JRuby

Usage: Add the following under docker: in your config.yml:

- image: circleci/jruby:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • 9
  • 9-browsers
  • 9-jdk
  • 9-jdk-browsers
  • 9.1
  • 9.1-browsers
  • 9.1-jdk
  • 9.1-jdk-browsers
  • 9.1-jre
  • 9.1-jre-browsers
  • 9.1.14
  • 9.1.14-browsers
  • 9.1.14-jdk
  • 9.1.14-jdk-browsers
  • 9.1.14-jre
  • 9.1.14-jre-browsers
  • 9.1.14.0
  • 9.1.14.0-browsers
  • 9.1.14.0-jdk
  • 9.1.14.0-jdk-browsers
  • 9.1.14.0-jre
  • 9.1.14.0-jre-browsers
  • 9.1.15
  • 9.1.15-browsers
  • 9.1.15-jdk
  • 9.1.15-jdk-browsers
  • 9.1.15-jre
  • 9.1.15-jre-browsers
  • 9.1.15.0
  • 9.1.15.0-browsers
  • 9.1.15.0-jdk
  • 9.1.15.0-jdk-browsers
  • 9.1.15.0-jre
  • 9.1.15.0-jre-browsers
  • latest
  • latest-browsers

MariaDB

Usage: Add the following under docker: in your config.yml:

- image: circleci/mariadb:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • 10
  • 10-ram
  • 10.0
  • 10.0-ram
  • 10.0.33
  • 10.0.33-ram
  • 10.0.34
  • 10.0.34-ram
  • 10.1
  • 10.1-ram
  • 10.1.29
  • 10.1.29-ram
  • 10.1.30
  • 10.1.30-ram
  • 10.1.31
  • 10.1.31-ram
  • 10.2
  • 10.2-ram
  • 10.2.10
  • 10.2.10-ram
  • 10.2.11
  • 10.2.11-ram
  • 10.2.12
  • 10.2.12-ram
  • 10.3
  • 10.3-ram
  • 10.3.2
  • 10.3.2-ram
  • 10.3.3
  • 10.3.3-ram
  • 10.3.4
  • 10.3.4-ram
  • 5
  • 5-ram
  • 5.5
  • 5.5-ram
  • 5.5.58
  • 5.5.58-ram
  • 5.5.59
  • 5.5.59-ram
  • latest
  • latest-ram

MongoDB

Usage: Add the following under docker: in your config.yml:

- image: circleci/mongo:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • 3
  • 3-jessie
  • 3-jessie-ram
  • 3-ram
  • 3.0
  • 3.0-ram
  • 3.0.15
  • 3.0.15-ram
  • 3.2
  • 3.2-jessie
  • 3.2-jessie-ram
  • 3.2-ram
  • 3.2.18-jessie-ram
  • 3.2.19
  • 3.2.19-jessie
  • 3.2.19-jessie-ram
  • 3.2.19-ram
  • 3.4
  • 3.4-jessie
  • 3.4-jessie-ram
  • 3.4-ram
  • 3.4.11-jessie-ram
  • 3.4.12
  • 3.4.12-jessie
  • 3.4.12-jessie-ram
  • 3.4.12-ram
  • 3.6
  • 3.6-jessie
  • 3.6-jessie-ram
  • 3.6-ram
  • 3.6.2
  • 3.6.2-jessie
  • 3.6.2-jessie-ram
  • 3.6.2-ram
  • 3.7
  • 3.7-jessie
  • 3.7-jessie-ram
  • 3.7-ram
  • 3.7.1
  • 3.7.1-jessie
  • 3.7.1-jessie-ram
  • 3.7.1-ram
  • jessie
  • jessie-ram
  • latest
  • latest-ram
  • unstable
  • unstable-jessie
  • unstable-jessie-ram
  • unstable-ram

MySQL

Usage: Add the following under docker: in your config.yml:

- image: circleci/mysql:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • 5
  • 5-ram
  • 5.5
  • 5.5-ram
  • 5.5.54
  • 5.5.55
  • 5.5.56
  • 5.5.57
  • 5.5.57-ram
  • 5.5.58
  • 5.5.58-ram
  • 5.5.59
  • 5.5.59-ram
  • 5.6
  • 5.6-ram
  • 5.6.35
  • 5.6.36
  • 5.6.37
  • 5.6.37-ram
  • 5.6.38
  • 5.6.38-ram
  • 5.6.39
  • 5.6.39-ram
  • 5.7
  • 5.7-ram
  • 5.7.17
  • 5.7.18
  • 5.7.19
  • 5.7.19-ram
  • 5.7.20
  • 5.7.20-ram
  • 5.7.21
  • 5.7.21-ram
  • 8
  • 8-ram
  • 8.0
  • 8.0-ram
  • 8.0.0
  • 8.0.1
  • 8.0.2
  • 8.0.2-ram
  • 8.0.3
  • 8.0.3-ram
  • latest
  • latest-ram

Node.js

Usage: Add the following under docker: in your config.yml:

- image: circleci/node:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • 4-browsers
  • 4-stretch
  • 4-stretch-browsers
  • 4.8-browsers
  • 4.8-stretch
  • 4.8-stretch-browsers
  • 4.8.7-browsers
  • 4.8.7-stretch
  • 4.8.7-stretch-browsers
  • 6
  • 6-browsers
  • 6-stretch
  • 6-stretch-browsers
  • 6.12-browsers
  • 6.12-stretch
  • 6.12-stretch-browsers
  • 6.12.3-browsers
  • 6.12.3-stretch
  • 6.12.3-stretch-browsers
  • 8-browsers
  • 8-stretch
  • 8-stretch-browsers
  • 8.9-browsers
  • 8.9-stretch
  • 8.9-stretch-browsers
  • 8.9.4-browsers
  • 8.9.4-stretch
  • 8.9.4-stretch-browsers
  • 9-browsers
  • 9-stretch
  • 9-stretch-browsers
  • 9.5-browsers
  • 9.5-stretch
  • 9.5-stretch-browsers
  • 9.5.0-browsers
  • 9.5.0-stretch
  • 9.5.0-stretch-browsers
  • argon-browsers
  • argon-stretch
  • argon-stretch-browsers
  • boron
  • boron-browsers
  • boron-stretch
  • boron-stretch-browsers
  • carbon-browsers
  • carbon-stretch
  • carbon-stretch-browsers
  • latest-browsers
  • stretch
  • stretch-browsers

OpenJDK

Usage: Add the following under docker: in your config.yml:

- image: circleci/openjdk:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • 10-browsers
  • 10-ea-32-browsers
  • 10-ea-32-experimental-browsers
  • 10-ea-32-experimental-node-browsers
  • 10-ea-32-jdk-browsers
  • 10-ea-32-jdk-experimental-browsers
  • 10-ea-32-jdk-experimental-node-browsers
  • 10-ea-32-jdk-node-browsers
  • 10-ea-32-node-browsers
  • 10-ea-browsers
  • 10-ea-experimental-browsers
  • 10-ea-experimental-node-browsers
  • 10-ea-jdk-browsers
  • 10-ea-jdk-experimental-browsers
  • 10-ea-jdk-experimental-node-browsers
  • 10-ea-jdk-node-browsers
  • 10-ea-node-browsers
  • 10-experimental-browsers
  • 10-experimental-node-browsers
  • 10-jdk-browsers
  • 10-jdk-experimental-browsers
  • 10-jdk-experimental-node-browsers
  • 10-jdk-node-browsers
  • 10-node-browsers
  • 8-jdk-node-browsers
  • 8-jdk-stretch-node-browsers
  • 8-node-browsers
  • 8-stretch-node-browsers
  • 8u151-jdk-node-browsers
  • 8u151-jdk-stretch-node-browsers
  • 8u151-node-browsers
  • 8u151-stretch-node-browsers
  • 9-jdk-node-browsers
  • 9-jdk-sid-node-browsers
  • 9-node-browsers
  • 9-sid-node-browsers
  • 9.0-jdk-node-browsers
  • 9.0-jdk-sid-node-browsers
  • 9.0-node-browsers
  • 9.0-sid-node-browsers
  • 9.0.1-11-jdk-node-browsers
  • 9.0.1-11-node-browsers
  • 9.0.1-jdk-node-browsers
  • 9.0.1-jdk-sid-node-browsers
  • 9.0.1-node-browsers
  • 9.0.1-sid-node-browsers
  • jdk-node-browsers
  • jdk-stretch-node-browsers
  • latest-node-browsers
  • stretch-node-browsers

PHP

Usage: Add the following under docker: in your config.yml:

- image: circleci/php:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • 5-apache-jessie-node-browsers
  • 5-apache-node-browsers
  • 5.6-apache-jessie-node-browsers
  • 5.6-apache-node-browsers
  • 5.6.33-apache-jessie-node-browsers
  • 5.6.33-apache-node-browsers
  • 7-apache-node-browsers
  • 7-apache-stretch-node-browsers
  • 7-cli-node-browsers
  • 7-cli-stretch-node-browsers
  • 7-node-browsers
  • 7-stretch-node-browsers
  • 7.0-apache-jessie-node-browsers
  • 7.0-apache-node-browsers
  • 7.0-cli-jessie-node-browsers
  • 7.0-cli-node-browsers
  • 7.0-jessie-node-browsers
  • 7.0-node-browsers
  • 7.0.27-apache-jessie-node-browsers
  • 7.0.27-apache-node-browsers
  • 7.0.27-cli-jessie-node-browsers
  • 7.0.27-cli-node-browsers
  • 7.0.27-jessie-node-browsers
  • 7.0.27-node-browsers
  • 7.1-apache-jessie-node-browsers
  • 7.1-apache-node-browsers
  • 7.1-fpm-jessie-node-browsers
  • 7.1-fpm-node-browsers
  • 7.1.14-apache-jessie-node-browsers
  • 7.1.14-apache-node-browsers
  • 7.1.14-fpm-jessie-node-browsers
  • 7.1.14-fpm-node-browsers
  • 7.2-apache-node-browsers
  • 7.2-apache-stretch-node-browsers
  • 7.2-cli-node-browsers
  • 7.2-cli-stretch-node-browsers
  • 7.2-node-browsers
  • 7.2-stretch-node-browsers
  • 7.2.2-apache-node-browsers
  • 7.2.2-apache-stretch-node-browsers
  • 7.2.2-cli-node-browsers
  • 7.2.2-cli-stretch-node-browsers
  • 7.2.2-node-browsers
  • 7.2.2-stretch-node-browsers
  • apache-node-browsers
  • apache-stretch-node-browsers
  • cli-node-browsers
  • cli-stretch-node-browsers
  • latest-node-browsers
  • stretch-node-browsers

PostgreSQL

Usage: Add the following under docker: in your config.yml:

- image: circleci/postgres:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • 10-alpine-postgis
  • 10-alpine-postgis-ram
  • 10-alpine-ram
  • 10-postgis-ram
  • 10.2-alpine-postgis
  • 10.2-alpine-postgis-ram
  • 10.2-alpine-ram
  • 10.2-postgis-ram
  • 9-alpine-postgis
  • 9-alpine-postgis-ram
  • 9-alpine-ram
  • 9-postgis-ram
  • 9.3-alpine-postgis
  • 9.3-alpine-postgis-ram
  • 9.3-alpine-ram
  • 9.3-postgis-ram
  • 9.3.21-alpine-postgis
  • 9.3.21-alpine-postgis-ram
  • 9.3.21-alpine-ram
  • 9.3.21-postgis-ram
  • 9.4-alpine-postgis
  • 9.4-alpine-postgis-ram
  • 9.4-alpine-ram
  • 9.4-postgis-ram
  • 9.4.16-alpine-postgis
  • 9.4.16-alpine-postgis-ram
  • 9.4.16-alpine-ram
  • 9.4.16-postgis-ram
  • 9.5-alpine-postgis
  • 9.5-alpine-postgis-ram
  • 9.5-alpine-ram
  • 9.5-postgis
  • 9.5-postgis-ram
  • 9.5.10-alpine-postgis
  • 9.5.10-alpine-postgis-ram
  • 9.5.10-alpine-ram
  • 9.5.10-postgis
  • 9.5.10-postgis-ram
  • 9.6-alpine-postgis
  • 9.6-alpine-postgis-ram
  • 9.6-alpine-ram
  • 9.6-postgis-ram
  • 9.6.7-alpine-postgis
  • 9.6.7-alpine-postgis-ram
  • 9.6.7-alpine-ram
  • 9.6.7-postgis-ram
  • alpine-postgis
  • alpine-postgis-ram
  • alpine-ram
  • latest-postgis-ram

Python

Usage: Add the following under docker: in your config.yml:

- image: circleci/python:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • 2-jessie-browsers
  • 2-jessie-node-browsers
  • 2-stretch-browsers
  • 2-stretch-node-browsers
  • 2.7-jessie-browsers
  • 2.7-jessie-node-browsers
  • 2.7-stretch-browsers
  • 2.7-stretch-node-browsers
  • 2.7.14-jessie-browsers
  • 2.7.14-jessie-node-browsers
  • 2.7.14-stretch-browsers
  • 2.7.14-stretch-node-browsers
  • 3-jessie-browsers
  • 3-jessie-node-browsers
  • 3-node-browsers
  • 3-stretch-browsers
  • 3-stretch-node-browsers
  • 3.4-jessie-browsers
  • 3.4-jessie-node-browsers
  • 3.4-node-browsers
  • 3.4.8-jessie-browsers
  • 3.4.8-jessie-node-browsers
  • 3.4.8-node-browsers
  • 3.5-jessie-node-browsers
  • 3.5.5-jessie-node-browsers
  • 3.6-jessie-node-browsers
  • 3.6-node-browsers
  • 3.6-stretch-browsers
  • 3.6-stretch-node-browsers
  • 3.6.4-jessie-node-browsers
  • 3.6.4-node-browsers
  • 3.6.4-stretch-browsers
  • 3.6.4-stretch-node-browsers
  • 3.7-rc-node-browsers
  • 3.7-rc-stretch-browsers
  • 3.7-rc-stretch-node
  • 3.7-rc-stretch-node-browsers
  • 3.7.0b1-node-browsers
  • 3.7.0b1-stretch-browsers
  • 3.7.0b1-stretch-node
  • 3.7.0b1-stretch-node-browsers
  • jessie-browsers
  • jessie-node-browsers
  • latest-node-browsers
  • rc-node-browsers
  • rc-stretch-browsers
  • rc-stretch-node
  • rc-stretch-node-browsers
  • stretch-browsers
  • stretch-node-browsers

Ruby

Usage: Add the following under docker: in your config.yml:

- image: circleci/ruby:[TAG]

Latest Tags: (view all available tags on Docker Hub)

  • 2-browsers
  • 2-node-browsers
  • 2-stretch-browsers
  • 2-stretch-node-browsers
  • 2.2-browsers
  • 2.2-jessie-browsers
  • 2.2-jessie-node-browsers
  • 2.2-node-browsers
  • 2.2.9-browsers
  • 2.2.9-jessie-browsers
  • 2.2.9-jessie-node-browsers
  • 2.2.9-node-browsers
  • 2.3-browsers
  • 2.3-jessie-browsers
  • 2.3-jessie-node-browsers
  • 2.3-node-browsers
  • 2.3-stretch-browsers
  • 2.3-stretch-node
  • 2.3-stretch-node-browsers
  • 2.3.6-browsers
  • 2.3.6-jessie-browsers
  • 2.3.6-jessie-node-browsers
  • 2.3.6-node-browsers
  • 2.3.6-stretch-browsers
  • 2.3.6-stretch-node
  • 2.3.6-stretch-node-browsers
  • 2.4-browsers
  • 2.4-jessie-browsers
  • 2.4-jessie-node-browsers
  • 2.4-node-browsers
  • 2.4-stretch-browsers
  • 2.4-stretch-node-browsers
  • 2.4.3-browsers
  • 2.4.3-jessie-browsers
  • 2.4.3-jessie-node-browsers
  • 2.4.3-node-browsers
  • 2.4.3-stretch-browsers
  • 2.4.3-stretch-node-browsers
  • 2.5-browsers
  • 2.5-node-browsers
  • 2.5-stretch-browsers
  • 2.5-stretch-node-browsers
  • 2.5.0-browsers
  • 2.5.0-node-browsers
  • 2.5.0-stretch-browsers
  • 2.5.0-stretch-node-browsers
  • latest-browsers
  • latest-node-browsers
  • stretch-browsers
  • stretch-node-browsers