Actualización de Ubuntu VM de 22 a 24 con Discourse en Docker

Tengo una instancia de Discourse ejecutándose en Ubuntu. No he iniciado sesión en el sistema en un tiempo y requirió una actualización con do-release-upgrade.

Esto parece funcionar bien, pero después de reiniciar Discourse no funcionó y al hacer un systemct restart docker journalctl reveló

Nov 07 16:53:58 discourse systemd[1]: docker.service: Scheduled restart job, restart counter is at 2.
Nov 07 16:53:58 discourse systemd[1]: Starting docker.service - Docker Application Container Engine...
Nov 07 16:53:58 discourse dockerd[1566]: time="2024-11-07T16:53:58.855938951-05:00" level=info msg="systemd-resolved is running, so using resolvconf: /run/systemd/resolve/resolv.conf"
Nov 07 16:53:58 discourse dockerd[1566]: time="2024-11-07T16:53:58.858965305-05:00" level=info msg="parsed scheme: \"unix\"" module=grpc
Nov 07 16:53:58 discourse dockerd[1566]: time="2024-11-07T16:53:58.859013907-05:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Nov 07 16:53:58 discourse dockerd[1566]: time="2024-11-07T16:53:58.859094653-05:00" level=info msg="parsed scheme: \"unix\"" module=grpc
Nov 07 16:53:58 discourse dockerd[1566]: time="2024-11-07T16:53:58.859114038-05:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Nov 07 16:53:58 discourse dockerd[1566]: time="2024-11-07T16:53:58.864502036-05:00" level=info msg="[graphdriver] using prior storage driver: overlay2"
Nov 07 16:53:58 discourse dockerd[1566]: time="2024-11-07T16:53:58.871019185-05:00" level=info msg="Graph migration to content-addressability took 0.00 seconds"
Nov 07 16:53:58 discourse dockerd[1566]: time="2024-11-07T16:53:58.871656775-05:00" level=warning msg="Your kernel does not support cgroup memory limit"
Nov 07 16:53:58 discourse dockerd[1566]: time="2024-11-07T16:53:58.871680667-05:00" level=warning msg="Unable to find cpu cgroup in mounts"
Nov 07 16:53:58 discourse dockerd[1566]: time="2024-11-07T16:53:58.871693302-05:00" level=warning msg="Unable to find blkio cgroup in mounts"
Nov 07 16:53:58 discourse dockerd[1566]: time="2024-11-07T16:53:58.871704545-05:00" level=warning msg="Unable to find cpuset cgroup in mounts"
Nov 07 16:53:58 discourse dockerd[1566]: time="2024-11-07T16:53:58.871760062-05:00" level=warning msg="mountpoint for pids not found"
Nov 07 16:53:58 discourse dockerd[1566]: Error starting daemon: Devices cgroup isn't mounted
root@discourse:/var/discourse# uname -r
6.8.0-48-generic
root@discourse:/var/discourse# cat /etc/os-release 
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.1 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

rebuild es lo que me hizo darme cuenta de todo lo anterior

root@discourse:~# cd /var/discourse
root@discourse:/var/discourse# ./launcher rebuild app
Device "docker0" does not exist.
Cannot connect to the docker daemon - verify it is running and you have access


¿Es realmente un problema con el kernel? No estoy seguro de cómo proceder y, por supuesto, cuando escribí do-release-upgrade, no hice una copia de seguridad de la base de datos de discourse, ya que publiqué algunas notas importantes recientes que me gustaría recuperar :face_with_peeking_eye:

¿Ya reconstruiste la aplicación?

@omarfilip
Lo siento, inicialmente olvidé añadir eso. Esto fue lo que me hizo investigar por qué docker no se estaba ejecutando desde el principio.

root@discourse:~# cd /var/discourse
root@discourse:/var/discourse# ./launcher rebuild app
Device "docker0" does not exist.
Cannot connect to the docker daemon - verify it is running and you have access

Mira si esto te da alguna idea:

No requería que hicieras un do-release-upgrade, lo recomendaba.

Como se sugirió, docker está roto. Deberías arreglarlo. Una forma, que podría funcionar, pero quizás no, es

curl https://get.docker.com | sh

Obtendrás algunas advertencias, pero la he usado recientemente.

Luego puedes ver si esto tiene éxito:

docker run hello-world