Default Docker Version for Remote Docker Jobs Updated to Docker 24

The default version of Docker for jobs that use setup_remote_docker has changed from 20.10.23 to 24.0.6.

The vast majority of users should see no impact. If you experience issues, the 20.10.23 version can be specified within your .circleci/config.yml file. Note: 20.10.23 will be deprecated from CircleCI’s platform and moved to an end-of-life state at a soon-to-be-announced date.

The default Docker version is used if a specific version is not specified in your .circleci/config.yml file or if you are using the current or previous tags in the image stanza in your .circleci/config.yml file.

I got this information by Email some days ago, and there was also denoted that I should comment here, if there are any issues…

Well, I would say there are issues, because suddenly from now my docker image build is broken (I didn’t change anything, and it really worked well for many months without any issue…).

I got this error message:
“Step 1/10 : FROM amazoncorretto:17
Get “registry-docker-io v2”: EOF
Exited with code exit status 1”

Respectively this one before:
“Sending build context to Docker daemon 134.8MB
Step 1/10 : FROM amazoncorretto:17-alpine-jdk
Exited with code exit status 1”

And to make it worse, I deployed one of my last “successfully” built Docker images (some hours before, this afternoon) to my productive environment, and suddenly the deployment is also broken! (The funny thing is, that there were NO changes in my actual Docker image, it is just also always built due to other changes…).

So I would REALLY appreciate if those issues get fixed…

P.S: This comment function sucks a little bit, due to it don’t let me include the Docker-Hub links from the error message…

Okay and just one further update:
Now even the “normal” builds are broken.
With “normal” builds I mean the builds that don’t produce a Docker image, but builds that use Docker images for building something (like e.g. cimg/openjdk:17.0.3 which is used for producing a JAR file artefact).

So I don’t know if this is related to the Docker upgrade, but something is really broken now…

@Clemens85 were you seeing issues before today? Dockerhub is experiencing degraded service right now which we’ve noticed is impacting jobs using Docker on our platform:

We’re in the process of upgrading our status page to reflect the degradation of our upstream provider.

I got this error message during the building after updated to docker 24:

Unable to find image ‘tonistiigi/binfmt:latest’ locally
latest: Pulling from tonistiigi/binfmt
docker: Get …/v2/tonistiigi/binfmt/manifests/sha256:6088cbd69c369178ffd6b68992f342c3a9d5c3cc619bbaa4bfe9a98cb23893d0: EOF.
See ‘docker run --help’.

Exited with code exit status 125

Can you guys help me, please?

Oh… This might then be really bad luck. I wasn’t aware of the Dockerhub issues, my first intuition was hence the Docker update on CircleCI, because it was suddenly so heavy broken.
I faced these issues not before today, so it is very likely that it is just the Dockerhub issue. Sorry then for the unnecessary noise.

No worries! We just put up a page on our side to reflect the issues with DockerHub as well.

If the issues persist after the DockerHub issues are resolved, don’t hesitate to comment again or email me at

@mateusaugusto did this just start happening today? See below regarding incident with DockerHub that may be causing that issue: CircleCI Status - Issues Pulling Images From DockerHub

Just to come back to you: It was definitely just the Dockerhub issue, and had nothing to do with the CircleCI Docker version upgrade.
So again sorry, should just have looked at first on the Dockerhub status pages.

1 Like

This page claims that you can’t specify “docker24” until after Docker v25 has been released. So in order to use Docker v24, it says that you must use the “default” or “edge” tags.

Can you just make the “docker24” tag available immediately? The advantage is that I could then use v24 without fear that you’ll auto-upgrade me to Docker 25 one night (as would be the case with if I used “default” or “edge”). I want to sign off on any major version upgrades by explicitly bumping the version number. Thoughts? Is there no way to specify v24 and lock on to that version?

Hey Justin, we can definitely make the docker24 tag available. Just to confirm though, the docker24 tag will get updated with the latest patch version of docker24 when there are patch versions issued upstream:

from the docs you sent:

This tag will point to the latest patch version of the major release, and will be updated if any patch versions are issued upstream. We recommend using the default version and not pinning to a date version.

Any concerns with that?

Cool. No concerns with auto-updates for patch releases! Thank you!

1 Like

Hi Justin,

We have added a new tag in docker24 to support. Updates will be made to this tag when updates are made by Docker to this version and when CircleCI patches versions for upgrades and fixes.

Please let me know if there is anything else I can be of help with.


Thanks for the quick turnaround guys. I can confirm that the “docker24” tag is now working.

1 Like

Has this been fully rolled out? We’re using a circlec ci convenience image and when passing the following options we’re seeing that the docker version is still version 20.

      - setup_remote_docker:
          version: docker24

@oliver-wils it should be, can you send a job link to where you’re still seeing it use version 20?

Sure thing, sent you an email just now.

Can you do the same thing with “docker25” and all future releases?

@brentmmarks @sebastian-lerner

Hi @justinNC,

Our team will release these tags when this are ready for customer use.