Hey Everyone,
For those who don’t know, we at CircleCI maintain a fleet of Docker images, which we call Convenience Images, for various languages and databases. These images are designed to run your CI environment.
The Docker build system we are using is old and complicated so we’ve been designing a new suite of images. New to the Next Generation (Next-Gen) images is an Ubuntu image which we call base
. This image is an Ubuntu 18.04 image that contains all of the tools and binaries that are either required for CircleCI use or extremely useful to most users. Things like git
, curl
, the CircleCI CLI, make, autoconf, dockerize
, tar
, and more are pre-installed.
What is it useful for?
For us, all of our other Next-Gen images (such as Go, Python, Node, etc) are based on this new base
image. For you, the base
image serves as a great starting point for users who want to create their own custom Docker image for use on CircleCI. Here’s a basic example of a Dockerfile to create a custom CircleCI Docker image with an Apt package installed:
FROM cimg/base:stable
RUN apt-get update && apt-get install -y cowsay
In a real scenario, instead of installing the joke package cowsay
, you’d install something your project or CI pipeline actually needs.
Feedback
It’s all open source so you can find the GitHub repo here and the Docker Hub repo here.
We’re looking to:
- Provide a good base image for all of our Next-Gen images.
- Provide a starting point for users to make their own custom Docker image.
- Get feedback on if this image is working for your project or if it’s missing something or doing something “wrong” in your opinion.
Other Public Beta Images
You can view all of the Next-Gen images that have reached public beta here.
Any questions, please let me know, thanks!