Hello
We are deprecating the following Remote Docker images on CircleCI and will be removing them from our platform on Sept 30, 2024:
Remote Docker (setup_remote_docker
) versions
- 17.05.0-ce
- 17.06.0-ce
- 17.06.1-ce
- 17.07.0-ce
- 17.09.0-ce
- 17.10.0-ce
- 17.11.0-ce
- 17.12.0-ce
- 17.12.1-ce
- 18.01.0-ce
- 18.02.0-ce
- 18.03.0-ce
- 18.03.1-ce
- 18.04.0-ce
- 18.05.0-ce
- 18.06.0-ce
- 18.09.3
- 19.03.8
- 17.03.0-ce
- 19.03.12 (ubuntu-2004:202008-01)
- 19.03.13 (ubuntu-2004:202008-01)
- 19.03.14 (ubuntu-2004:202008-01)
- 20.10.2 (ubuntu-2004:202101-01)
- 20.10.6 (ubuntu-2004:202104-01)
- 20.10.7 (ubuntu-2004:202107-02)
- 20.10.11 (ubuntu-2004:202111-01)
- 20.10.12 (ubuntu-2004:202201-02)
- 20.10.14 (ubuntu-2204:2022.04.2)
- 20.10.17 (ubuntu-2204:2022.07.2)
- 20.10.18 (ubuntu-2204:2022.10.1)
- 20.10.23 (ubuntu-2204:2023.02.1)
Once an image is removed, the CircleCI jobs that use that image will fail with an error message - This job was rejected because the image is unavailable.
CircleCI will email impacted users with a list of projects that must be updated before the EOL date.
Why are these images being deprecated?
To ensure pipelines on CircleCI run with the highest level of reliability & security.
What do I need to do?
You will need to update your CircleCI config to use a valid Remote Docker image as per the tagging conventions in our Remote Docker Image Policy.
The recommended tags to use are as follows:
default
- Docker 24previous
- Previousdefault
versionedge
- Development image of latest Docker versiondocker23
- Docker 23
A couple examples:
Before:
steps:
- checkout
- setup_remote_docker:
version: 17.05.0-ce // any of the deprecated image tags above
After:
- Default usage, which uses the latest stable version, which would be Docker 24
steps:
- checkout
- setup_remote_docker
- Edge
steps:
- checkout
- setup_remote_docker:
version: edge
- Utilizes Docker 23
steps:
- checkout
- setup_remote_docker:
version: docker23
Updating Orbs
You may need to make additional changes to your config if you are using an Orb that selects an image for you. If you’re using old and outdated versions CircleCI Orbs that use deprecated images by default you’ll need to either:
- Upgrade the orb to a more recent version (all most recent versions of the CircleCI orbs that use images use non-deprecated images by default). This is the recommended course of action.
- Ensure that you are explicitly passing in, via the appropriate Orb parameter, the name of a non deprecated image to use.
The following old versions of Orbs use depreciated images by default:
circleci/android
1.0.0 - 1.0.3- You can override the image used by this orb by passing the
image-name
parameter to theandroid-machine
executor)
- You can override the image used by this orb by passing the
circleci/aws-ecr
7.0.0 - 9.0.1- You can override the image used by this orb by passing the
image
parameter to thedefault
executor
- You can override the image used by this orb by passing the
circleci/aws-sam-serverless
2.0.0 - 6.0.0- You can override the image used by this orb by passing the
machine_image
parameter to thedeploy
job)
- You can override the image used by this orb by passing the
circleci/azure-acr
0.2.1- You can override the image used by this orb by passing the
image
parameter to thedefault
executor
- You can override the image used by this orb by passing the
circleci/docker
2.0.0 - 2.2.0- You can override the image used by this orb by passing the
image
parameter to themachine
executor
- You can override the image used by this orb by passing the
circleci/gcp-cli
2.0.0 - 2.4.1- You can override the image used by this orb by passing the
image
parameter to themachine
executor
- You can override the image used by this orb by passing the
circleci/gcp-gcr
0.15.0 - 0.15.3- You can override the image used by this orb by passing the
image
parameter to thedefault
executor
- You can override the image used by this orb by passing the
circleci/windows
- 1.0.0 - 2.1.0- You can override the image used by this orb by passing the
version
parameter to thedefault
executor
- You can override the image used by this orb by passing the
What will happen after the Sept 30 EOL Date?
If you do not currently specify a tag in the setup_remote_docker
step, your job will keep the same behavior, and use the default
tag automatically.
Calling any of the deprecated Docker versions directly will cause your job to fail.
Brownout Schedule and EOL
We will be conducting brownouts for the above images on the following dates and times.
- 4 March 2024
- 07:00 UTC → 11:00 UTC
- 13:00 UTC → 17:00 UTC
- 20:00 UTC → 00:00 UTC
- 28 May 2024
- 02:00 UTC → 10:00 UTC
- 14:00 UTC → 22:00 UTC
- 28 August 2024
- 00:00 UTC → 00:00 UTC (24 Hour)
- 17 September 2024
- 00:00 UTC → 00:00 UTC (24 Hour)
- 30 September 2024
- Deprecated tags are removed and will be unavailable
During these times, all jobs calling these images will fail. Please update your configs as soon as possible to prevent any disruption to your pipelines.
The default
and docker23
tags are already available for you to transition to as of writing and we highly recommend updating your config to avoid job failure during these brownouts. If you have already updated your tags, please disregard this email.
What’s Next?
Details on how we manage and maintain our Remote Docker images can be found here: Remote Docker Image Policy.
Feedback
If you have any questions, comments, or concerns, please post a reply in this thread and we will be happy to help!
Respectfully,
CircleCI Images Team