Docker 插件更新导致最新更新时网站中断

我运行了最新的更新。更新页面首先提示我更新 Docker 插件。完成更新后,我收到一条消息,提示我需要重建服务器中的应用程序,因为站点映像存在问题,这种情况似乎每更新 3 到 4 次就会发生一次。

在服务器上尝试重建时,我收到此错误消息:

检测到 x86_64 架构。

正在启动现有容器
+ /usr/bin/docker start app
守护进程的错误响应:在端点 app (83f3d2e718d3bedaac581e14f9ce21eed1c41564483523b3a7ae2a2af1baf6fe) 上编程外部连接失败:启动用户空间代理时出错:listen tcp4 0.0.0.0:443:bind:地址已在使用中
错误:未能启动容器:app

如果我尝试 discourse-doctor,我会收到类似的消息:

正在启动现有容器
+ /usr/bin/docker start app
守护进程的错误响应:在端点 app (8937ea42fba161e42f9ffde7b2958bdba6212f0030aaebbebfe15a1fe69a0156) 上编程外部连接失败:启动用户空间代理时出错:listen tcp4 0.0.0.0:443:bind:地址已在使用中
错误:未能启动容器:app
未能重新启动容器。

站点本身正在抛出 SSL 错误。

有人知道可能是什么原因造成的吗?

您可能在服务器上运行了另一个 Web 服务器或反向代理,它占用了 443 端口。

您能否分享 netstat -tulpn | grep 443 的输出?

1 个赞

感谢您的回复 @itsbhanusharma

(并非所有进程都能被识别,非拥有的进程信息
将不会显示,您必须是root用户才能看到所有信息。)
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN 

使用 sudo

sudo netstat -tulpn | grep 443
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      868/nginx: master p

我已经尝试按照建议移除所有插件,并再次运行 discourse-doctor,但它无法构建和启动。

请分享您的 app.yml(请隐去任何密码和敏感信息)

在此期间,请尝试

sudo systemctl stop nginx

然后尝试重建?

从我看到的情况来看,您的服务器上运行着一个外部 nginx。除非您已将其配置为反向代理 discourse,否则这就是您重建失败的原因。

1 个赞

非常感谢 @itsbhanusharma。该命令,然后重建应用程序,使其再次上线。我不知道是什么原因导致了这个问题。

如果您尚未在服务器上安装 nginx,您可能需要执行

sudo apt purge nginx*
sudo apt autoremove

以确保 nginx 不会再次启动。

1 个赞

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