Old Linux Machine Image & Remote Docker Deprecation

We want to let you know that on October 26th, 2020 we will begin descaling some of the machine images you’re currently using (listed below) . The image will continue to work for you but the average provisioning time will increase.

For a fast and reliable experience, we suggest updating to one of the supported Linux machine images below before October 26th. This will ensure CircleCI can maintain your image with the speed and support you’ve come to expect.

The images that will be deprecated no longer receive support from upstream projects. Canonical, the creator of Ubuntu, as well as Docker, no longer manage their images for security or bug fixes. This makes it difficult for us to keep these images operational and secure while maintaining newer images that are supported upstream.

The deprecations will include:

Linux machine images:

  • circleci/classic:201703-01
  • circleci/classic:201708-01
  • circleci/classic:201709-01
  • circleci/classic:201710-01
  • circleci/classic:201710-02
  • circleci/classic:201711-01
  • circleci/classic:201808-01
  • circleci/classic:edge
  • circleci/classic:latest
  • circleci/classic

Remote Docker versions:

  • docker-17.03.0-ce
  • docker-17.05.0-ce
  • docker-17.06.0-ce
  • docker-17.06.1-ce
  • docker-17.07.0-ce
  • docker-17.09.0-ce
  • docker-17.10.0-ce
  • docker-17.11.0-ce
  • docker-17.12.0-ce
  • docker-17.12.1-ce
  • docker-18.01.0-ce
  • docker-18.02.0-ce
  • docker-18.03.0-ce
  • docker-18.03.1-ce
  • docker-18.04.0-ce
  • docker-18.06.0-ce
  • docker-18.09.3

Note: If your config is using setup_remote_docker without specifying a version, you are using Docker v17.09.0-ce which is on this list. If you are using the machine executor without specifying an image machine: true, you are using circleci/classic which is on this list.

Suggested images and versions to use instead:

If you’re using one of the old Linux machine images, we suggest switching to one of these:

  • ubuntu-1604:202007-01 which is an Ubuntu 16.04 based image containing Docker v19.03.12
  • ubuntu-2004:202008-01 which is an Ubuntu 20.04 based image currently in beta.

For a full list of supported images, you can refer to CircleCI Docs.

If you’re using a remote Docker image, we suggest specifying a Docker version from v19.03.0 or newer. The list of supported versions can also be found in CircleCI Docs.

If you have any questions please feel free to let us know here.

2 Likes

Hey,

I have one quick question regarding remote docker versions.
I’ve been using configuration like:

      - setup_remote_docker

Without defining any version, keeping the default. I was thinking that the default would be nicely supported.
But today I realized that the default is still 17.09.0-ce. This was specified in the documentation but I couldn’t believe it until I double-checked in my build :slight_smile:
Do you plan to change this default as well, or do you recommend specifying the version all the time?

Thanks

3 Likes

Hey @julienw,

Great question. In order to allow customer builds to be as deterministic and stable as possible going forward, the recommendation is to specific the Docker version you want to use. Just like in the example here. I’ll include it here for ease:

      - setup_remote_docker:
          version: 19.03.12

Specifying it outright is unfortunately an extra line now, but this allows everyone to be clear on what version they’re running. Case and point, you pointed out that you didn’t realize you were using such an old version of Docker. We’re trying to fix that going forward.

The second part is, but having a “default” like this, prevents us from ever changing it to keep users on a modern version without potentially breaking things for many people.

Hi @FelicianoTech,

Can we assume that if we received this email, then we are going to be impacted by this change? Or was this email sent out to all CircleCI users even if they won’t be impacted?

Can you help me understand how to identify the impacted projects/repositories? If I’ve searched through all my projects and can’t find any reference to “circleci/classic”. I do see setup_remote_docker steps in .circleci/config.yml files often, but they never have a specific version. Based upon this, I would think that none of these changes will be impacting me. Does that analysis sound comprehensive and complete?

Thanks!

Hi,

This is similar to what’s mentioned two post up. Basically, if you are using setup_remote_docker without specifying a version, you are using Docker v17.09.0-ce, which is on this list. I’ll edit the original post to try and make this more clear as I can understand how that’s confusing.

Hi

We use circleci/node:10.16.3-browsers is that deprecated as well?

Thanks
Adam

Hey Adam,

This post is only about machine images and setup_remote_docker. The image you mentioned is a Docker image and specifically what we call a Convenience Image. You’re fine.

2 Likes

Hero. Thanks Feliciano

3 Likes