Docker Engine 29 upgrade gotchas for production hosts
Originally published on kuryzhev.cloud A typical failure looks like this: unattended upgrades pull a new docker-ce package overnight, the daemon restarts, and by morning the reverse proxy no longer discovers containers. The proxy logs complain that its client API version is too old, while docker ps works fine from the shell. A Docker Engine 29 upgrade can produce exactly this, and a few other…
Docker Engine 29 upgrade can cause unexpected issues on production hosts. Initially, a new docker-ce package is unattendedly upgraded overnight, triggering a daemon restart which disrupts a reverse proxy's ability to detect containers. While the daemon's ps command functions correctly from the command line, the proxy logs display an outdated client API version error.
Docker Engine 29 was released on 2025-11-10 (official release notes), currently at version 29.9.3. Since then, the Docker apt repository has provided 29.x versions for supported Ubuntu releases, including the LTS 26.04. Other 28.x hosts are being updated through routine patching, and any systems on a floating package channel will also receive the upgrade.
To avoid these potential problems, it is recommended to pin the package, inventory all API clients interacting with /var/run/docker.sock, and perform an upgrade on a single canary host first. If an API client still supports an older version, upgrade the client and use the DOCKER_MIN_API_VERSION temporarily as a bridge. Additionally, pin your image storage in daemon.json to prevent any unexpected changes.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.