升级到 Ubuntu 22.04.1 LTS 后出现错误

刚刚更新到 Ubuntu 22.04.1 LTS。

然后执行了:

cd /var/discourse
sudo git pull
sudo ./launcher rebuild app

运行了几分钟后失败并出现错误(见下文)。

如果我现在再次执行:

sudo ./launcher rebuild app

我立即再次收到相同的错误:

$ sudo ./launcher rebuild app
x86_64 arch detected.
docker: Error response from daemon: cgroups: cgroup mountpoint does not exist: unknown.
ERRO[0000] error waiting for container: context canceled
Your Docker installation is not working correctly

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

我遵循了链接文章中的步骤。它们成功运行了。

不幸的是,在再次执行

sudo ./launcher rebuild app

时,错误再次发生。


更新 1

一个建议是安装 cgroup-tools

sudo apt update
sudo apt -y install cgroup-tools

(来源:Source

不幸的是,在重启后,这在我的场景中_没有_奏效。


更新 2

我还将Docker 从 19.x 升级到了 20.x

然后,在重启后,我再次尝试了:

sudo ./launcher rebuild app

这次,它成功了。

:tada: 我的论坛现在又正常工作了 :partying_face:

4 个赞

我假设您是从 20.04.x LTS 升级的。

我明天将在本地虚拟机中进行一次测试升级,我怀疑关键在于重复步骤 3“设置存储库”,即更新 /etc/apt/sources.list.d/docker.list 以使用 jammy 而不是 focal,然后运行 apt-get update && apt-get upgrade 以根据新的源列表更新软件包。

您已经解决了您的问题,但对于其他遇到此问题的人,我稍后会报告这次升级是否按我预期的方式工作,或者需要哪些额外的步骤。

3 个赞

就我而言,我刚刚将一个沙盒从 20.04 升级到了 22.04.1,所有与 Discourse 相关的东西似乎都在工作(它把我锁在了 Oracle 实例之外,但那是另一回事 :sweat_smile:)。

2 个赞

我今晚终于完成了。20.04 中处理 GPG 密钥的方式已被弃用,但只需重新安装 docker apt 存储库并进行升级即可。

因此,将现有的 Discourse 安装从 Ubuntu 20.04 升级到 22.04 的过程是:

  1. 在 20.04 中执行版本升级,遵循 标准步骤
  2. 重启系统以完成升级
  3. 从 Docker 安装说明 中,执行 Set up the repository 的第 2 步和第 3 步。
  4. sudo apt-get update && sudo apt-get upgrade
3 个赞

我一直的做法是启动一个新的虚拟机,确认它能正常工作,然后将备份恢复到其中。这样就没有停机时间,也不会有出现问题导致被卡住的风险。你甚至可以使用弹性IP(我一时想不起 DigitalOcean 是怎么称呼它的)进行切换,这样你甚至都不需要更改DNS。

如果我需要保留同一台物理机,我可能会先把网站迁移到一个虚拟机上,同时升级机器并进行全新安装,然后再迁移回来。

另一方面,我看到很多人报告说,如果他们能容忍停机时间,升级也能顺利进行。但请务必确保你有一个备份,以便在出现严重问题时可以启动一个新服务器。

5 个赞

他们称之为浮动 IP :slight_smile:

我将完全相同的策略用于生产环境中的所有内容,但仍然会尝试在沙盒中升级操作系统,以确保我了解其中的难点。人们确实会在生产环境的同一台虚拟机上更新操作系统,结果导致一切崩溃(没有备份),因此这有助于解决这些安装问题。

3 个赞

在尝试升级到 22.04 时,有人遇到过此错误吗?

准备解包 .../docker.io_20.10.7-0ubuntu1~20.04.1_amd64.deb ...
aufs 存储驱动程序不再受支持。
请确保您的任何容器都没有使用 aufs 存储驱动程序,删除目录
/var/lib/docker/aufs 并重试。
3 个赞

他们以前是这么叫的,但现在叫做“保留IP”(恕我直言,这名字也算不上更好):Release Notes | DigitalOcean Documentation

6月16日

  • 我们已将浮动IP产品重命名为*保留IP*。保留IP服务保留了与先前服务相同的功能。
3 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.