Docker vient d'upgrader la version de 28.5 à 29.0, cette version apporte son lot de “breaking change”; parmi lesquels se trouve une impossibilité pour portainer (a priori uniquement la version Enterprise) de se connecter…
Docker a publier une nouvelle version 29 de son outils, et celui-ci brise quelques API.
Plutôt que downgrader docker vers la version 28.5; il existe un “work-arround” pour ce problème:
Il faudra évidement retirer ce fix dès que portainer aura produit une version compatible avec cette version 29.
Nous allons créer un fichier “override” pour notre service; en éditant le fichier de service docker pour le forcer a utiliser une version précise de son API:
root@suprae:~# sudo systemctl edit docker.service
Cette commande va créer (ou ouvrir) un fichier “override” (/etc/systemd/system/docker.service.d/override.conf)
Je déconseille d'éditer le fichier systemd /lib/systemd/system/docker.service directement, car en cas d'update du service, ce fichier sera remis par défaut
Ce fichier reprends l'ensemble du fichier service de base, mais entièrement commenté; il suffit de dé-commenter les parties que l'on veut modifier, a savoir la section [service] et on va ajouter une ligne Environment=DOCKER_MIN_API_VERSION=1.24:
# temporary workaround to allow portainer 2.33.3 to connect [Service] Environment=DOCKER_MIN_API_VERSION=1.24
on va ensuite instruire le daemon et relancer le service docker
root@suprae:~# systemctl daemon-reload root@suprae:~# systemctl restart docker