HACKER Q&A
📣 bionsystem

What Happened to Docker 23?


Docker 23 installs by default now if you update your repository and run [apt|yum|dnf] [install|upgrade] docker-ce. However it breaks on builds (timeouts) and changes the location of config files (/etc/docker/daemon.json isn't used anymore), thus breaking our CI as well as making unusable our config management tools until we patch them.

The worst part is that the change occured on thursday, and there was no release notes when our CI started to break. So I was actually lucky to figure out that it was just that and forced version 20 everywhere before we would break everything. And today I found that some build timeout or fail in non-deterministic ways as well which seems to appear on some older versions as well according to google.

So I guess the lesson is, never use "latest" version of anything, anywhere, as they can't be trusted ? Has anybody encountered this kind of issues ?

Edit : I just found out that googling "docker 23 issues" also gives volume issues. This is all terrible for a major release that upgrades without warning.


  👤 verdverm Accepted Answer ✓
As Kelsey Hightower once said "latest is not a version"

You should always pin versions to something specific.

I had to deal with new versions breaking things twice this week. One was the Docker Go client, which while pinned, updated to 23 and broke things. Had to roll it back, which goes to show you even pinning versions does not prevent these issues, though in your case, you would have known by being intentional. Of course, now you have the version update chores...

---

Docker changelog: https://docs.docker.com/engine/release-notes/23.0/ (published before the release, available for many weeks if you pay attention on GitHub)


👤 speedgoose
Yes it’s very classic to encounter breaking changes when you blindly install the latest version.

👤 ezekg
Not to dismiss your hardship, but what was your expected behavior here? It installed the latest version for you, just as you asked... so I'm not sure how it can't be trusted lol