# Remote Docker Image Deprecations and EOL for 2024

**URL:** <https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176>\
**Category:** Notices\
**Tags:** remote-docker, machine-images, convenience-images\
**Created:** [January 16, 2024, 3:03pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176 "2024-01-16T15:03:58Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![brentmmarks](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/brentmmarks/32/33353_2.png) [@brentmmarks](https://discuss.circleci.com/u/brentmmarks)\
**Post date:** [January 16, 2024, 3:03pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/1 "2024-01-16T15:03:58Z")

</div>

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](https://circleci.com/docs/remote-docker-images-support-policy/).

The recommended tags to use are as follows:

- `default` - Docker 24
- `previous` - Previous `default` version
- `edge` - Development image of latest Docker version
- `docker23` - Docker 23

A couple examples:

Before:

```auto
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

```auto
steps:
      - checkout
      - setup_remote_docker

```

- Edge

```auto
steps:
  - checkout
  - setup_remote_docker:
      version: edge

```

- Utilizes Docker 23

```auto
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:

1. 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.
2. 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 the `android-machine` executor)

- `circleci/aws-ecr` 7.0.0 - 9.0.1
  - You can override the image used by this orb by passing the `image` parameter to the `default` executor

- `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 the `deploy` job)

- `circleci/azure-acr` 0.2.1
  - You can override the image used by this orb by passing the `image` parameter to the `default` executor

- `circleci/docker` 2.0.0 - 2.2.0
  - You can override the image used by this orb by passing the `image` parameter to the `machine` executor

- `circleci/gcp-cli` 2.0.0 - 2.4.1
  - You can override the image used by this orb by passing the `image` parameter to the `machine` executor

- `circleci/gcp-gcr` 0.15.0 - 0.15.3
  - You can override the image used by this orb by passing the `image` parameter to the `default` executor

- `circleci/windows` - 1.0.0 - 2.1.0
  - You can override the image used by this orb by passing the `version` parameter to the `default` executor

## 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](https://circleci.com/docs/remote-docker-images-support-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

---

<div class="post-metadata">

**Author:** ![borkdude](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/borkdude/32/19723_2.png) [@borkdude](https://discuss.circleci.com/u/borkdude)\
**Post date:** [February 27, 2024, 2:24pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/2 "2024-02-27T14:24:26Z")

</div>

I’m getting a deprecated image warning for this (open source) build:

[https://app.circleci.com/pipelines/github/clj-kondo/clj-kondo/5894/workflows/eff4ddc4-c8a5-46e0-b1bd-f50956518f88/jobs/25647](https://app.circleci.com/pipelines/github/clj-kondo/clj-kondo/5894/workflows/eff4ddc4-c8a5-46e0-b1bd-f50956518f88/jobs/25647)

I am explicitly not using the newest Ubuntu versions since I want to build binaries against libc 2.31. When I upgrade to Ubuntu 22 I will build against libc 2.35 and then some of my users can’t run the binary on their (older) linux system.

Any advice to which docker image I can upgrade?

EDIT: actually for this remote docker step the glibc version doesn’t matter since I’m just copying binaries from the other steps. But the other steps use Ubuntu 2004 as well.

Which remote docker image is recommended?

---

<div class="post-metadata">

**Author:** ![brentmmarks](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/brentmmarks/32/33353_2.png) [@brentmmarks](https://discuss.circleci.com/u/brentmmarks)\
**Post date:** [February 27, 2024, 2:38pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/3 "2024-02-27T14:38:17Z")

</div>

Hi @borkdude,

You should still be able to use Ubuntu 2004 just with a newer version of the image.

Thanks,  
Brent

---

<div class="post-metadata">

**Author:** ![borkdude](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/borkdude/32/19723_2.png) [@borkdude](https://discuss.circleci.com/u/borkdude)\
**Post date:** [February 27, 2024, 3:05pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/5 "2024-02-27T15:05:17Z")

</div>

I tried using `cimg/base:current-20.04` and I’m still getting the deprecated message in this job:

[https://app.circleci.com/pipelines/github/clj-kondo/clj-kondo/5897/workflows/8e7ca1b9-852a-4e97-8d93-6a227e543da5/jobs/25664](https://app.circleci.com/pipelines/github/clj-kondo/clj-kondo/5897/workflows/8e7ca1b9-852a-4e97-8d93-6a227e543da5/jobs/25664)

---

<div class="post-metadata">

**Author:** ![rit1010](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/rit1010/32/34738_2.png) [@rit1010](https://discuss.circleci.com/u/rit1010)\
**Post date:** [February 27, 2024, 3:09pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/6 "2024-02-27T15:09:30Z")

</div>

What is being talked about in the original post is the docker based environments that CircleCI provides to allow people to deploy docker. Unless you have a need to use a dated version of docker you should just be using the default version which is the current general release, 24.

Looking at your project, the OS and so the clib you are compiling against is whatever you define in the buildfile used by your Build Docker Image step.

---

<div class="post-metadata">

**Author:** ![brentmmarks](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/brentmmarks/32/33353_2.png) [@brentmmarks](https://discuss.circleci.com/u/brentmmarks)\
**Post date:** [February 27, 2024, 3:18pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/7 "2024-02-27T15:18:05Z")

</div>

Hi @borkdude,

Your build looks to be using Remote Docker 20.10.11 which is the problem here.

Thanks,  
Brent

---

<div class="post-metadata">

**Author:** ![rit1010](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/rit1010/32/34738_2.png) [@rit1010](https://discuss.circleci.com/u/rit1010)\
**Post date:** [February 27, 2024, 3:20pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/8 "2024-02-27T15:20:42Z")

</div>

I think you are mixing different parts of the config.yml

`cimg/base:current-20.04` would be a value used to define the machine in your linux-aarch64 job, while this announcement is regarding the available values for ‘setup\_remote\_docker’ used in your docker job.

---

<div class="post-metadata">

**Author:** ![borkdude](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/borkdude/32/19723_2.png) [@borkdude](https://discuss.circleci.com/u/borkdude)\
**Post date:** [February 27, 2024, 4:03pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/9 "2024-02-27T16:03:24Z")

</div>

Indeed, i t turned out I had to upgrade:

```auto
      - setup_remote_docker:
          version: docker24

```

which was `20.10.11`  
but the e-mail made it seem like it was about a docker image:

```auto
We've identified that your team is currently using the following images planned for deprecation:

clj-kondo/ci/docker/ubuntu-2004:202111-01

```

This was kind of confusing, perhaps I misunderstood the e-mail.

---

<div class="post-metadata">

**Author:** ![brentmmarks](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/brentmmarks/32/33353_2.png) [@brentmmarks](https://discuss.circleci.com/u/brentmmarks)\
**Post date:** [February 27, 2024, 4:15pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/10 "2024-02-27T16:15:29Z")

</div>

Apologies for the confusion.

---

<div class="post-metadata">

**Author:** ![koconnor-ampion](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/koconnor-ampion/32/31150_2.png) [@koconnor-ampion](https://discuss.circleci.com/u/koconnor-ampion)\
**Post date:** [March 4, 2024, 1:33pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/11 "2024-03-04T13:33:19Z")

</div>

> [@brentmmarks](#):
>
> ## 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

During these “brownouts” should we _expect_ the builds to fail?

 ![image](https://global.discourse-cdn.com/circleci/original/3X/5/1/51e307d78e40b85e45942f8bbc837c13105ec3d8.png)

If so, could you be more explicit in the announcements? Given what I read, I expected a deprecation message, not an outright failure.

-Kevin

---

<div class="post-metadata">

**Author:** ![brentmmarks](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/brentmmarks/32/33353_2.png) [@brentmmarks](https://discuss.circleci.com/u/brentmmarks)\
**Post date:** [March 4, 2024, 1:48pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/12 "2024-03-04T13:48:54Z")

</div>

During these brownouts images will fail. This is intended to make sure customers are aware of these deprecations and take action.

---

<div class="post-metadata">

**Author:** ![koconnor-ampion](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/koconnor-ampion/32/31150_2.png) [@koconnor-ampion](https://discuss.circleci.com/u/koconnor-ampion)\
**Post date:** [March 4, 2024, 1:51pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/13 "2024-03-04T13:51:49Z")

</div>

And, now that I read it more closely. I do see that message in there. My apologies @brentmmarks

 ![image](https://global.discourse-cdn.com/circleci/original/3X/c/6/c6c89b7ed45bbd35a9abc06a48db40efa8bafd8d.png)

---

<div class="post-metadata">

**Author:** ![zghorn](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/zghorn/32/35051_2.png) [@zghorn](https://discuss.circleci.com/u/zghorn)\
**Post date:** [March 4, 2024, 5:22pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/15 "2024-03-04T17:22:19Z")

</div>

It’s supposedly out of the brown out window as of 20 mins ago but all of our builds are failing. And of course we’re in a p0 monday morning situation. Any updates here?

---

<div class="post-metadata">

**Author:** ![getzeroedin](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/getzeroedin/32/33468_2.png) [@getzeroedin](https://discuss.circleci.com/u/getzeroedin)\
**Post date:** [March 4, 2024, 5:43pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/16 "2024-03-04T17:43:25Z")

</div>

We too are out of the brown out window, but our builds are failing on docker image version 19.03.xx . That said, what needs to change in our config file? I see 2 relevant settings ..

executors:  
ubuntu-small:  
docker:  
- {image: ‘cimg/base:2022.02’}  
resource\_class: small

# Does cimg/base .. need to change to 2024.02 ??

Or later in our workflows section ..

setup-remote-docker: true  
repo: nightly  
dockerfile: docker-build/Dockerfile

Since setup-remote-docker does not use a version keyword, shouldn’t it pick up “default” ?

---

<div class="post-metadata">

**Author:** ![rkennedy-mode](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/rkennedy-mode/32/35053_2.png) [@rkennedy-mode](https://discuss.circleci.com/u/rkennedy-mode)\
**Post date:** [March 4, 2024, 5:53pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/17 "2024-03-04T17:53:48Z")

</div>

We have builds being rejected due to an image being unavailable, which is not part of the list of deprecated images mentioned above:

> This job was rejected because the image ‘ubuntu-2204:2023.07.2’ is unavailable

---

<div class="post-metadata">

**Author:** ![brentmmarks](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/brentmmarks/32/33353_2.png) [@brentmmarks](https://discuss.circleci.com/u/brentmmarks)\
**Post date:** [March 4, 2024, 6:09pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/18 "2024-03-04T18:09:38Z")

</div>

If keyword is not provided for setup\_remote\_docker it will use default. We have recently pushed a change to help identify for customers which image is deprecated in their build.

---

<div class="post-metadata">

**Author:** ![brentmmarks](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/brentmmarks/32/33353_2.png) [@brentmmarks](https://discuss.circleci.com/u/brentmmarks)\
**Post date:** [March 4, 2024, 6:11pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/19 "2024-03-04T18:11:10Z")

</div>

> [@rkennedy-mode](#):
>
> ubuntu-2204:2023.07.2

Hi @rkennedy-mode,

This image is part of the linux deprecation: [Linux Image Deprecations and EOL for 2024](https://discuss.circleci.com/t/linux-image-deprecations-and-eol-for-2024/50177)

Thanks,  
Brent

---

<div class="post-metadata">

**Author:** ![asensf](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/asensf/32/35061_2.png) [@asensf](https://discuss.circleci.com/u/asensf)\
**Post date:** [March 4, 2024, 10:57pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/21 "2024-03-04T22:57:10Z")

</div>

I have not specifified setup\_remote\_docker in my config file, i’m still getting  
This job was rejected because the image ‘Remote Docker version: docker-20.10.2’ is unavailable  
What should be upgraded to get around this?

---

<div class="post-metadata">

**Author:** ![brentmmarks](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/brentmmarks/32/33353_2.png) [@brentmmarks](https://discuss.circleci.com/u/brentmmarks)\
**Post date:** [March 4, 2024, 11:23pm UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/22 "2024-03-04T23:23:44Z")

</div>

HI @asensf,

Are you possibly using an orb that is using remote docker?

Thanks,  
Brent

---

<div class="post-metadata">

**Author:** ![E-Mohamed](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/e-mohamed/32/35116_2.png) [@E-Mohamed](https://discuss.circleci.com/u/E-Mohamed)\
**Post date:** [March 14, 2024, 11:04am UTC](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176/23 "2024-03-14T11:04:24Z")

</div>

Hi,

will it still be possible to use specific versions of docker like 20.10.24 but for newer version like 24.x.y ? Or it supports only mentioned tags (default, previous …) ?

**EDIT:** After some tries, it does not work ( I tried `24.0.1` and `24.0.9`) but the `docker24` does the job

[Next page](https://discuss.circleci.com/t/remote-docker-image-deprecations-and-eol-for-2024/50176.md?page=2)
