论坛一天前崩溃了,我快绝望了

我安装了一些插件并运行了 ./launcher rebuild app,它通常会成功,但当我进入论坛时,它显示:

糟糕

此讨论论坛的软件遇到了意外问题。很抱歉给您带来不便。

错误详情已记录,并已生成自动通知。我们会进行查看。

无需进一步操作。但是,如果错误状况持续存在,您可以通过在该站点的反馈类别中发布讨论主题来提供更多详细信息,包括重现错误的步骤。

日志错误显示:

Digest: sha256:f7467469ab9e39c3548d4478e3f416c05b34a0ee58eb6e40b963e562005669cc

Status: Downloaded newer image for discourse/base:2.0.20230313-1023

docker.io/discourse/base:2.0.20230313-1023

docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: unable to apply apparmor profile: apparmor failed to apply profile: write /proc/self/attr/apparmor/exec: no such file or directory: unknown.


docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: unable to apply apparmor profile: apparmor failed to apply profile: write /proc/self/attr/apparmor/exec: no such file or directory: unknown.


正在检查您的域名 . . .

与 luxx.com 的连接成功。

您应该移除任何非官方插件并重新构建。
正在尝试重新启动现有容器 . . .

检测到 x86_64 架构。

docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: unable to apply apparmor profile: apparmor failed to apply profile: write /proc/self/attr/apparmor/exec: no such file or directory: unknown.

docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: unable to apply apparmor profile: apparmor failed to apply profile: write /proc/self/attr/apparmor/exec: no such file or directory: unknown.

您的 Docker 安装不正常

请参阅:https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
未能重新启动容器。


警告:
您似乎安装了非官方插件。
如果遇到问题,您应该禁用它们并尝试重新构建。

请参阅 https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb 获取官方列表。

========================================
luxx.com 上的 Discourse 版本:未找到
localhost 上的 Discourse 版本:未找到

1 个赞

你是否遵循了建议?你试图添加哪些插件?

暂时忽略docker错误,这应该是你的第一步。

1 个赞

当我重建时,显示它

root@debian-4gb-ash-1:/var/discourse# ./launcher rebuild app
检测到 x86_64 架构。
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: unable to apply apparmor profile: apparmor failed to apply profile: write /proc/self/attr/apparmor/exec: no such file or directory: unknown.
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: unable to apply apparmor profile: apparmor failed to apply profile: write /proc/self/attr/apparmor/exec: no such file or directory: unknown.
您的 Docker 安装未正常工作

参见:https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
root@debian-4gb-ash-1:/var/discourse#
1 个赞

我能否删除旧的 Docker 并安装新的?

1 个赞

你好 mecay,

你是否访问了该链接并遵循了其中的建议?

1 个赞

是的,但即使按照他说的做,我也没能解决这个错误,而且我在谷歌上搜索了,但没有找到。

删除我的docker并安装另一个是否可行?您是如何做到的?

展示一下

docker: Error response from daemon: AppArmor enabled on system but the docker-default profile could not be loaded: strconv.Atoi: parsing "found": invalid syntax.
docker: Error response from daemon: AppArmor enabled on system but the docker-default profile could not be loaded: strconv.Atoi: parsing "found": invalid syntax.
Your Docker installation is not working correctly
1 个赞

似乎安装了一些需要重启的更新。

您尝试过重启吗?

2 个赞

重启是 ./launcher rebuild app 吗?
还是另一个命令

1 个赞

我猜重启现在是指 shutdown -r now

2 个赞

我在这里尝试,但显示这个

docker.io/discourse/base:2.0.20230313-1023
docker: 守护进程收到错误响应:系统已启用 AppArmor,但无法加载 docker-default 配置文件:strconv.Atoi:解析“found”:无效语法。
docker: 守护进程收到错误响应:系统已启用 AppArmor,但无法加载 docker-default 配置文件:strconv.Atoi:解析“found”:无效语法。
您的 Docker 安装无法正常工作```
1 个赞

问题不在于 Docker 或 Discourse,而在于 AppArmor 安全工具。允许 Docker 运行的配置文件已损坏,并且 AppArmor 已启用,因此它阻止了 Docker 启动。

您需要找出 AppArmor 配置文件的损坏原因并修复它,或者禁用它。

2 个赞

我是 Discourse 新手,您知道我该如何操作吗?

AppArmor 是您操作系统安装的一部分。

在您的服务器上运行 apparmor_status 的输出是什么?

这将生成大量输出,但请确保您复制并粘贴所有内容。

它的显示

不使用 cd /var/discourse

root@debian-4gb-ash-1:~# apparmor_status
apparmor module is loaded.
6 profiles are loaded.
6 profiles are in enforce mode.
   /usr/bin/man
   lsb_release
   man_filter
   man_groff
   nvidia_modprobe
   nvidia_modprobe//kmod
0 profiles are in complain mode.
0 processes have profiles defined.
0 processes are in enforce mode.
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.

使用 cd /var/discourse

root@debian-4gb-ash-1:/var/discourse# apparmor_status
apparmor module is loaded.
6 profiles are loaded.
6 profiles are in enforce mode.
   /usr/bin/man
   lsb_release
   man_filter
   man_groff
   nvidia_modprobe
   nvidia_modprobe//kmod
0 profiles are in complain mode.
0 processes have profiles defined.
0 processes are in enforce mode.
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.

如果此问题仍然存在,您可能会发现启动新的 droplet 并安装全新实例比调试现有实例更容易。

或者,如果您有预算,可以使用#marketplace 来获得一些专业帮助?

1 个赞

我没钱了 :frowning: :cry:

我不知道该怎么办,这些天都乱了套了,如果我知道是因为插件,我永远不会安装

这个创建新的液滴是如何工作的?

我需要从我的服务器下载我的液滴并将其放在另一个服务器上吗?
但是这个液滴如何与我的论坛通信?

首先,您需要从托管的 discourse 将一个或两个备份下载到您自己的计算机。然后,您将在新的服务器上安装一个全新的 discourse,并从备份中恢复。

您必须首先确保本地备份的副本!

我如何下载这个副本?我无法访问我的论坛,它已下线,只能通过 SSH 访问。

如果您有 ssh 访问权限,那么您应该能够使用 scp 或 rsync 来复制您的备份文件夹,该文件夹很可能位于

/var/discourse/shared/standalone/backups/default

您可以使用例如以下命令列出该目录:
rsync -ratz username@hostname:/var/discourse/shared/standalone/backups/default

并使用例如以下命令将内容复制到当前目录:
rsync --progress -ratz username@hostname:/var/discourse/shared/standalone/backups/default/. .

编辑:(您应该在自己的计算机上运行这些命令,以从远程计算机拉取备份。我假设您运行的是 Linux、macOS 或 Windows 上的类 Linux 系统。否则,我认为 Windows 上的 Putty 允许文件复制,并且/或者附带 scp 程序。或者 WinSCP 可能是您需要的。)

2 个赞