Erreur de mise à jour de Discourse : votre installation Docker ne fonctionne pas correctement

J’héberge Discourse moi-même sur une instance DigitalOcean depuis plusieurs années et j’ai mis à jour Discourse de nombreuses fois sans problème, que ce soit via la page d’administration ou en me connectant en SSH et en utilisant la ligne de commande. C’est la première fois que je rencontre un problème. Aujourd’hui (le 8 février 2025), j’ai mis à jour le conteneur Docker via la page d’administration sans problème. Ensuite, j’ai commencé à mettre à jour Discourse, et cela a échoué. Je me suis connecté en SSH et j’ai exécuté :

sudo ./launcher rebuild app

et j’ai obtenu cette erreur :

WARNING: Docker version 20.10.14 deprecated, recommend upgrade to 24.0.7 or newer.

x86_64 arch detected.

WARNING: We are about to start downloading the Discourse base image

This process may take anywhere between a few minutes to an hour, depending on your network speed

Please be patient

2.0.20250129-0720: Pulling from discourse/base

toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

Unable to find image 'discourse/base:2.0.20250129-0720' locally

docker: Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit.

See 'docker run --help'.

Your Docker installation is not working correctly

See: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam

(Je n’ai plus accès aux messages d’erreur de la page de mise à jour d’administration car le serveur Discourse est hors service.)

Quelqu’un sait pourquoi cela se produit et ce que je dois faire ?

Aidez-moi s’il vous plaît !

Vous devez mettre à jour Docker, ou le ferez bientôt.

Il est fort probable que vous deviez également mettre à jour votre système d’exploitation.

Que dit lsb_release -a ?

Mais c’est un peu plus préoccupant.

Peut-être pouvez-vous attendre une heure et réessayer ?

Vous devriez pouvoir redémarrer l’ancien conteneur avec

./launcher start app
1 « J'aime »

Salut Jay,

Merci beaucoup pour ta réponse !

Y a-t-il une page web que tu peux recommander avec des instructions sur la façon de mettre à jour Docker ?

L’exécution de lsb_release -a donne :

Aucun module LSB disponible.
ID du distributeur : Ubuntu
Description : Ubuntu 20.04.4 LTS
Release : 20.04
Codename : focal

(J’ai repoussé la mise à jour de Linux, car je n’ai jamais effectué de mise à niveau de système d’exploitation sur une instance DigitalOcean, mais je sais que je devrai me lancer bientôt.)

J’ai consulté le site web que tu as envoyé concernant l’utilisation et les limites de Docker avant de poster ici, mais je n’y comprends rien. Dois-je payer pour Docker juste pour mettre à jour Discourse ?

J’ai essayé de redémarrer en exécutant ./launcher start app mais j’ai obtenu un message d’erreur presque identique à celui que j’ai obtenu en exécutant ./launcher rebuild app.

Cela fait plus d’une heure, alors je viens d’essayer de relancer ./launcher rebuild app, mais j’ai obtenu la même erreur.

J’apprécie grandement tout autre conseil que tu pourras me donner.

1 « J'aime »

EDIT : Oh, mais vous avez l’erreur « trop de requêtes ». Je pense que ce que je ferais, c’est taper

docker login

et suivre les instructions. Il semble qu’une version authentifiée gratuite pourrait résoudre votre problème.

Je recommanderais d’en obtenir une nouvelle et de suivre Déplacer un site Discourse vers un autre VPS avec rsync. Il y a peu de temps d’arrêt et si quelque chose tourne mal, vous pouvez simplement supprimer la nouvelle instance et réessayer.

Mais vous allez bien pour le moment, donc vous pourriez simplement être en mesure de

sudo apt update
sudo apt upgrade
# ou si vous voulez juste mettre à jour docker, cela devrait probablement suffire.
sudo apt install docker-ce
1 « J'aime »

Salut Jay,

J’ai exécuté sudo apt update et sudo apt upgrade sans incident. J’ai ensuite essayé d’exécuter sudo ./launcher rebuild app à nouveau et j’ai obtenu l’erreur :

WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.

WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed

Please be patient

Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Unable to find image 'discourse/base:2.0.20250129-0720' locally
docker: Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit.
See 'docker run --help'.
Your Docker installation is not working correctly

Notez qu’il s’agit de la même erreur qu’auparavant, sauf que maintenant la version obsolète est 24.0.2 au lieu de 20.10.14. J’ai essayé sudo apt install docker-ce mais j’obtiens la même erreur en exécutant sudo ./launcher rebuild app. Il ne semble pas vouloir passer à la version 24.0.7 ou plus récente.

Je viens de créer avec succès une connexion Docker depuis le site Web de Docker. Je peux me connecter au site Docker, mais lorsque j’exécute docker login depuis la ligne de commande et que j’entre mon nom d’utilisateur et mon mot de passe (que j’ai copiés et collés depuis mon trousseau pour éviter les fautes de frappe), j’obtiens :

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/auth": dial unix /var/run/docker.sock: connect: permission denied

J’ai essayé plusieurs fois au cas où j’aurais mal collé le mot de passe, sans succès. Y a-t-il une connexion différente que je dois créer ?

J’apprécie grandement tout autre conseil que vous pourrez me donner !

C’est aussi bon que possible avec votre système d’exploitation. C’est probablement suffisant.

Ouais. Il essaiera de mettre à niveau uniquement docker. Docker porte des noms différents dans certains cas, j’ai donc pensé qu’une mise à niveau de tout était une solution plus sûre.

Ce sont vos identifiants docker qu’il demande, pas vos identifiants système. Quand je fais ça, j’obtiens quelque chose comme ceci :

USING WEB-BASED LOGIN
Pour vous connecter avec des identifiants sur la ligne de commande, utilisez 'docker login -u <username>'

Votre code de confirmation d'appareil unique est : WZYX-ABCD
Appuyez sur ENTRÉE pour ouvrir votre navigateur ou soumettez votre code d'appareil ici : https://login.docker.com/activate

Exécutez-vous ceci en tant que root, ou en tant qu’utilisateur qui n’a pas la permission d’utiliser docker ?

Salut Jay,

Oui, le problème était que j’avais exécuté docker login au lieu de sudo docker login car je ne fonctionnais pas en tant que root. Mais j’ai bien entré mon nom d’utilisateur et mon mot de passe Docker, pas mon nom d’utilisateur et mon mot de passe d’OS. Je ne suis pas à ce point mauvais !

J’ai relancé sudo ./launcher rebuild app et je n’ai pas eu d’erreurs ! Il m’a demandé de le relancer, alors je me suis exécuté. J’ai ensuite lancé sudo ./launcher start app et tout est en cours d’exécution !

Merci beaucoup ! J’avais juste besoin d’un docker login (et ensuite de me connecter, en tant que root).

Tu as été d’une aide formidable ! Merci encore pour ta générosité et ta patience ! J’espère que ce sujet aidera d’autres personnes rencontrant le même problème.

2 « J'aime »

Eh bien, je ne peux pas toujours deviner ce qui a du sens pour qui.

Content que vous ayez trouvé.

Merci pour la mise à jour ! C’est la première fois que je vois ce problème, et je suis content que ma solution suggérée ait fonctionné. Je me demande si cela va devenir un problème plus courant à l’avenir.

2 « J'aime »