Recently I got an assignment that needs to use Docker. Usually it can be done with command line, but a lot of time, I use Portainer for the convenience. But today, I wasn't able to access my local Docker environment. It kept saying "the environment named local is unreachable". I discovered that an update to Docker version 29 introduced breaking changes:
The daemon now requires API version 1.44 or later (Docker v25.0+).
A user named JoynalFrametOlimpo at this Github issue showed me a way to downgrade the API version 1.41 by changing /etc/docker/daemon.json
{
"min-api-version": "1.41",
[Other settings down here...]
}
Afterwards, it just systemctl restart docker.service and Portainer worked again. Keep in mind
that I ran an older version of Portainer, 2.27.9 LTS, because I hate the UI change of the
new versions. Also, I don't want
to lose the "stacks" I deployed using Portainer.
In the future, I might have to migrate deploying "stacks" to actually using Docker Compose, because everytime I change version on Portainer, I end up always re-deploying these Docker Compose anyway, which is a giant waste of time. Seems like reinventing the wheel to me.