No se puede actualizar debido a la versión antigua de Docker

Durante la actualización, ejecuté cd /var/discourse; git pull; ./launcher rebuild app.

Obtuve “Upgrade Complete” y “UPGRADE OF POSTGRES COMPLETE”. Este último indica que se debe “reconstruir nuevamente”, aunque parece no marcar ninguna diferencia.

A pesar de que la actualización se completó, no puedo iniciar la aplicación. Al ejecutar ./launcher start app, aparece el siguiente error:

Unable to find image 'local_discourse/app:latest' locally
/usr/bin/docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login'.
See '/usr/bin/docker run --help'.

No puedo reiniciar mi aplicación nuevamente y no estoy seguro de cómo proceder.

./discourse-doctor no ayuda (solo detecta que la aplicación no se está ejecutando, intenta reconstruirla y reiniciarla, y termina con el mismo error).

No puedo adjuntar archivos, ya que soy un usuario nuevo, así que aquí está lo que creo que es el fragmento relevante del registro de depuración:

Failed to rebuild app.

Checking your domain name . . .

Connection to community.gingkoapp.com succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . . 

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=2 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e DISCOURSE_DEVELOPER_EMAILS=REDACTED  -e DISCOURSE_HOSTNAME=community.gingkoapp.com -e DISCOURSE_SMTP_ADDRESS=smtp.mailgun.org -e DISCOURSE_SMTP_USER_NAME=postmaster@community.gingkoapp.com -e DISCOURSE_SMTP_PASSWORD=REDACTED  -h community-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 2222:22 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:fc:04:ee:f5:11 local_discourse/app /sbin/boot
Unable to find image 'local_discourse/app:latest' locally
/usr/bin/docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login'.
See '/usr/bin/docker run --help'.
Failed to restart the container.
  1. ¿Qué versión de Docker tienes?
  2. ¿Has probado las soluciones sugeridas en este FAQ?

¡Gracias!

Versión de Docker 17.12.0-ce

Estoy en un entorno con espacio limitado (constantemente se me pide que intente limpiar las imágenes), así que eso suena como una razón plausible para este fallo.

Probaré los pasos enumerados y les informaré.

Tu versión de discourse docker es demasiado antigua. Te sugiero actualizarla antes de continuar.

No estoy seguro de cómo hacerlo sin la interfaz web (o curl hacia la API), ya que está caída. Pero lo investigaré. Por ahora, voy a aumentar primero el tamaño del disco de mi droplet y ver si eso ayuda.

(¿a menos que te refirieras a que mi versión de docker es antigua?)

Ohh. Lo siento.
Quería decir que Docker está demasiado antiguo. Intenta actualizarlo primero. Mil disculpas por el error tipográfico y la confusión.

No te preocupes, entendí que eso era lo que querías decir, ya que preguntaste por la versión de Docker.
Yo también estoy en 14.04, así que voy a actualizar primero a 16.04.

Gracias de nuevo por la información. Publicaré cualquier actualización.

¡Vaya vaya!

14.04 > 16.04 > 18.04, te espera un largo día.

Ten en cuenta que 16.04 también llega a su fin de vida en 2021, así que actualiza al menos a 18.04.

Trabajando duro solo para mantenerme en el mismo lugar… ¡así va mi vida!
¡El software avanza demasiado rápido para mí! :stuck_out_tongue_closed_eyes:

Te deseo lo mejor en esta nueva aventura de actualizaciones de software. :confetti_ball:

Si se trata de un VPS, no es necesario actualizar el servidor actual. Crear uno nuevo con 20.04 y migrar tu sitio a ese nuevo servidor es mucho más rápido y sencillo.

Pero su contenedor está dañado y no se inicia debido a múltiples razones.

La última copia de seguridad automática se encontrará en la carpeta compartida y será trasladada al nuevo servidor.

¿Dónde puedo encontrar cuál es actualmente la versión más antigua de Docker compatible con Discourse?

Aquí

Sí, eso es lo que estoy haciendo en este momento. Debería ser mucho más rápido que actualizar el actual… cruzo los dedos para poder restaurar desde los archivos de copia de seguridad (a los que todavía tengo acceso en el servidor antiguo).

¡Gracias..!

Parece que esta versión está bien soportada en Discourse actualmente. ¿Por qué crees que es demasiado antigua @itsbhanusharma?

¿Quién dijo que es compatible?
Cualquier versión de Docker con más de un par de años ni siquiera es compatible con su propio desarrollador, ¿entonces cómo esperas que sea compatible con Discourse?

Solo estoy revisando el código fuente…

Todo está bien ahora. Creé un nuevo droplet en Digital Ocean y restauré la copia de seguridad. Creo que la última copia de seguridad estaba corrupta, pero al menos solo perdí uno o dos mensajes y logré restaurar correctamente desde la copia de seguridad anterior.

¡Gracias a todos por su ayuda!