Ubuntu vm upgrade from 22 to 24 holding discourse docker

AI-generated summary

The user gstlouis upgraded their Ubuntu VM from 22 to 24 using do-release-upgrade, which caused Docker to fail, preventing their Discourse instance from working. After rebooting, systemctl restart docker and journalctl revealed errors. The user tried rebuilding the app with ./launcher rebuild app, but encountered the error “Device ‘docker0’ does not exist.”

omarfilip asked if the app had been rebuilt, and gstlouis confirmed that rebuilding the app was what led to the discovery of the Docker issue. omarfilip suggested looking into a similar issue on the Discourse meta forum.

pfaffman pointed out that the upgrade was recommended, not required, and suggested fixing the broken Docker installation by running curl https://get.docker.com | sh and then testing Docker with docker run hello-world.

I have an instance of discourse running on ubuntu. I have not logged into the system in a while and it required an upgrade with do-release-upgrade.

This seems to run fine, but after reboot discourse did not work and doing a systemct restart docker journalctl revealed

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 is what got me to realise all the above

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


IS this really a problem with the kernel? I am not sure how to proceed, and of course when I type do-release-upgrade I did not do a backup of the discouse DB which I posted some recent important notes I would like to get back :face_with_peeking_eye:

Have you already rebuilt the app?

@omarfilip
sorry, initially forgot to add that. This was what got me looking into why docker wasn’t running from the start

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

See if this gives you any ideas:

It didn’t require that you do a do-release-upgrade, it recommended it.

As suggested, docker is broken. You should fix it. One way, that might work, but might not, is

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

You’ll get some warnings, but I’ve used it recently.

Then you can see if this succeeds:

docker run hello-world