你好,
我更改了 SMTP 设置,并正在尝试重建应用。
cd /var/discourse
./launcher rebuild app
输出:错误:不支持 Docker 版本 1.9.1,请至少升级到 17.03.1,或推荐升级到 17.06.2。
我该怎么办?有什么建议吗?
你好,
我更改了 SMTP 设置,并正在尝试重建应用。
cd /var/discourse
./launcher rebuild app
输出:错误:不支持 Docker 版本 1.9.1,请至少升级到 17.03.1,或推荐升级到 17.06.2。
我该怎么办?有什么建议吗?
您是否尝试将 Docker 升级到至少 17.03.1?如果您不确定如何操作,请运行 uname -a 并将结果粘贴在这里。
你好,谢谢你的回答。
结果如下:
![]()
sudo apt-get update && sudo apt-get upgrade 应该能解决问题。具体方法完全取决于您最初是如何安装 Docker 的。
更新后是否有风险会干扰 Discourse 的正常运行?
此类情况始终存在风险,但如果您想重新构建应用,则需要升级 Docker。
我的建议是:向您的社区说明您正在进行维护,如果尚未备份,请先进行备份,然后再执行升级。
Kernel 3.13.0-147 感觉有点旧了?
是的。
在这种情况下,我们需要为内核单独更新吗?还是以下命令就足够了?
sudo apt-get update && sudo apt-get upgrade
apt-get dist-upgrade 也可以吗?最好查阅一下 Ubuntu 文档以确认。
我只是想更改 app.yml 中的邮件服务和 SMTP 设置。有没有其他方法可以在不更新的情况下验证这些设置(app.yml)?
出于安全原因,您确实应该运行最新版本的软件,但这由您决定……
根据 How to reload configuration after app.yml changes? - #2 by riking app.yml 的 env 部分中更改设置,且该 env 变量不用于引导过程,那么执行 ./launcher restart app 即可重新加载 SMTP 设置。
./launcher restart app 也无法运行。错误:不支持 Docker 版本 1.9.1。
我们还能做些什么?
问题在于 launcher rebuild 会从 GitHub 拉取最新代码,而该代码与您的 Docker 版本不兼容。如果您尚未运行重建操作,则可以避免此问题;但在当前情况下,唯一的解决方案很可能是继续向前推进。正如 @yanokwa 所指出的,您绝对不应该运行过旧的操作系统或 Discourse 版本,这样做会带来一系列安全问题。
您尝试执行上述 dist-upgrade 时发生了什么?
我没有使用这个命令。我正在寻找一种无需更新就能解决的方法。(暂时这样。
)
您已更新 Discourse,这意味着现在需要修复 Docker。
dist-upgrade 可以实现这一点。假设您已备份数据,且服务器上仅运行此一个应用,目前风险很小。最坏的情况是您只需重新运行 30 分钟的安装指南并恢复备份。
是您搭建的服务器吗?如果是,您还记得是如何搭建的吗?您提供的信息越多,我们就能越快为您找到解决方案。
我并没有构建服务器。我创建了一个快照,并正在该快照上工作。
我使用了以下命令来升级 Docker 和内核版本:
sudo apt-get dist-upgrade
sudo apt-get update && sudo apt-get upgrade
升级后,Docker 版本仍然是 1.9.1 ![]()
我尝试使用以下命令升级 Docker 版本:
wget -qO- https://get.docker.com/ | sh
当我运行 docker run -it --rm hello-world 命令时,输出如下:
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
Status: Downloaded newer image for hello-world:latest
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:301: running exec setns process for init caused \"exit status 23\"": unknown.
当我运行 ./launcher rebuild app 时,输出如下:
WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed
Please be patient
Unable to find image 'discourse/base:2.0.20200220-2221' locally
2.0.20200220-2221: Pulling from discourse/base
bc51dd8edc1b: Pulling fs layer
27ae5d171719: Pulling fs layer
bc51dd8edc1b: Verifying Checksum
bc51dd8edc1b: Download complete
bc51dd8edc1b: Pull complete
27ae5d171719: Verifying Checksum
27ae5d171719: Download complete
27ae5d171719: Pull complete
Digest: sha256:b3acee0b655f071e98205dbd12fa78b95a6dd4038d27f1259177f76ab2efe4f7
Status: Downloaded newer image for discourse/base:2.0.20200220-2221
/usr/bin/docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:301: running exec setns process for init caused \"exit status 23\"": unknown.
Your Docker installation is not working correctly
See: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
升级 Docker 后,您可能需要重启系统。
重启后输出相同:
/usr/bin/docker: 来自守护程序的错误响应:OCI 运行时创建失败:container_linux.go:348: 启动容器进程导致 "process_linux.go:301: 为 init 运行 exec setns 进程导致 \"退出状态 23\"": 未知。
您的 Docker 安装无法正常工作
参见:https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam