Error de actualización de Discourse: tu instalación de Docker no funciona correctamente

He estado autoalojando una instalación de Discourse en una instancia de DigitalOcean durante varios años y he actualizado Discourse muchas veces sin problemas, tanto a través de la página de administración como conectándome por SSH y usando la CLI. Esta es la primera vez que tengo un problema. Hoy (8 de febrero de 2025) actualicé el contenedor de Docker a través de la página de administración sin problemas. Luego comencé a actualizar Discourse y falló. Me conecté por SSH y ejecuté:

sudo ./launcher rebuild app

y obtuve este error:

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

(Ya no tengo acceso a los mensajes de error de la página de actualización de administración, ya que el servidor de Discourse está caído).

¿Alguien sabe por qué está sucediendo esto y qué necesito hacer?

¡Por favor, ayúdenme!

Necesitas actualizar docker, o pronto lo harás.

Es muy probable que también necesites actualizar tu sistema operativo.

¿Qué dice lsb_release -a?

Pero esto es un poco más preocupante.

¿Quizás puedas esperar una hora e intentarlo de nuevo?

Deberías poder reiniciar el contenedor antiguo con

./launcher start app
1 me gusta

Hola Jay,

¡Muchas gracias por tu respuesta!

¿Hay alguna página web que puedas recomendar con instrucciones sobre cómo actualizar Docker?

Ejecutar lsb_release -a produce:

No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.4 LTS
Release:	20.04
Codename:	focal

(He estado posponiendo la actualización de Linux, ya que nunca he realizado una actualización del sistema operativo en una instancia de DigitalOcean, pero sé que tendré que hacerlo pronto).

Miré la página web que enviaste sobre Uso y límites de Docker antes de publicar aquí, pero no entiendo nada. ¿Tengo que pagar por Docker solo para actualizar Discourse?

Intenté reiniciar ejecutando ./launcher start app pero obtuve un mensaje de error casi idéntico al que obtuve cuando ejecuté ./launcher rebuild app.

Ha pasado más de una hora, así que acabo de intentar ejecutar ./launcher rebuild app de nuevo, pero obtuve el mismo error.

Agradezco mucho cualquier otra orientación que puedas proporcionar.

1 me gusta

EDITAR: Oh, pero tienes el error de “demasiadas solicitudes”. Creo que lo que haría es escribir

  docker login

y seguir las instrucciones. Parece que una versión gratuita autenticada podría resolver tu problema.

Recomendaría simplemente conseguir una nueva y seguir Mover un sitio de Discourse a otro VPS con rsync. Hay poco tiempo de inactividad y si algo sale mal, puedes simplemente eliminar la nueva instancia e intentarlo de nuevo.

Pero por ahora estás bien, así que podrías simplemente poder

sudo apt update
sudo apt upgrade
# o si solo quieres actualizar docker, esto probablemente lo hará.
sudo apt install docker-ce
1 me gusta

Hola Jay:

Ejecuté sudo apt update y sudo apt upgrade sin incidentes. Luego intenté ejecutar sudo ./launcher rebuild app nuevamente y obtuve el siguiente error:

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

Nótese que es el mismo error que antes, excepto que ahora la versión obsoleta es 24.0.2 en lugar de 20.10.14. Intenté sudo apt install docker-ce pero obtengo el mismo error al ejecutar sudo ./launcher rebuild app. Parece que no quiere actualizar a la versión 24.0.7 o una más reciente.

Acabo de crear con éxito un inicio de sesión de Docker desde el sitio web de Docker. Puedo iniciar sesión en el sitio de Docker, pero cuando ejecuto docker login desde la línea de comandos e ingreso mi nombre de usuario y contraseña (que copié y pegué de mi llavero para evitar errores tipográficos) obtengo:

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

Lo he intentado varias veces en caso de que haya pegado mal la contraseña, todo en vano. ¿Hay un inicio de sesión diferente que deba crear?

¡Agradezco enormemente cualquier otro consejo que pueda brindarme!

Eso es lo mejor que se puede conseguir con tu sistema operativo. Probablemente sea suficiente.

Sí. Intentará actualizar solo docker. Docker tiene algunos nombres diferentes en algunos casos, así que pensé que actualizar todo sería una solución más segura.

Esas son tus credenciales de docker, no tus credenciales del sistema operativo. Cuando hago eso, obtengo algo como esto:

USING WEB-BASED LOGIN
To sign in with credentials on the command line, use 'docker login -u <username>'

Your one-time device confirmation code is: WZYX-ABCD
Press ENTER to open your browser or submit your device code here: https://login.docker.com/activate

¿Estás ejecutando esto como root, o como un usuario que no tiene permiso para usar docker?

Hola Jay,

Sí, el problema fue que ejecuté docker login en lugar de sudo docker login ya que no se estaba ejecutando como root. Pero sí introduje mi nombre de usuario y contraseña de Docker, no mi nombre de usuario y contraseña del sistema operativo. ¡No soy tan malo!

Acabo de ejecutar sudo ./launcher rebuild app de nuevo y no obtuve los errores. Me pidió que lo ejecutara de nuevo, así que cumplí. Luego ejecuté sudo ./launcher start app y todo está en funcionamiento.

¡Muchas gracias! Solo necesitaba un docker login (y luego iniciar sesión, como root).

¡Has sido de una ayuda tremenda! ¡Gracias de nuevo por tu generosidad y paciencia! Espero que este tema ayude a otros que encuentren el mismo problema.

2 Me gusta

Bueno, no siempre puedo adivinar qué cosas tienen sentido para quién.

Me alegra que lo hayas resuelto.

¡Gracias por la actualización! Es la primera vez que veo este problema y me alegro de que mi solución sugerida haya funcionado. Me pregunto si este será un problema más común en el futuro.

2 Me gusta