当前位置: 首页 > 知识库问答 >
问题:

Azure部署失败-容器未响应端口8080上的HTTP ping,站点启动失败

程谦
2023-03-14

我正在部署一个web应用程序,它在Azure应用程序服务上使用NodeJS、Express和React(插入我的BitBucket repo),但我没有发现成功。要么部署失败,要么声称部署成功,但该站点无法访问,并且一直超时。当我在Azure诊断中检查Docker日志时,我注意到以下几点:

2021-02-14T13:41:53.578Z INFO  - Initiating warmup request to container mcm-app_0_543ad0c3 for site mcm-app

在几个读取的日志等待对容器mcm-app_0_543ad0c3的预热请求的响应后,我得到以下结果:

2021-02-14T13:45:44.205Z ERROR - Container mcm-app_0_543ad0c3 for site mcm-app did not start within expected time limit. Elapsed time = 230.6269687 sec
2021-02-14T13:45:44.236Z ERROR - Container mcm-app_0_543ad0c3 didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging.
2021-02-14T13:45:44.299Z INFO  - Stopping site mcm-app because it failed during startup.

这就是我的Express后端的server.js文件的样子:

var express = require("express");
var cors = require("cors");
var app = express();
var path = require("path");

const port = process.env.PORT || 8080;

// Enable CORS and handle JSON requests
app.use(cors());
app.use(express.json());

app.post("/", function (req, res, next) {
  // console.log(req.body);
  res.json({ msg: "This is CORS-enabled for all origins!" });
});

// Set router for email notifications
const mailRouter = require("./routers/mail");
const readerRouter = require("./routers/reader");
const notificationsRouter = require("./routers/booking-notifications");
app.use("/email", mailRouter);
app.use("/reader", readerRouter);
app.use("/notifications", notificationsRouter);


app.use(express.static("./mcm-app/build"));
app.get("*", (req, res) => {
  res.sendFile(path.join(__dirname, "mcm-app", "build", "index.html"));
});

app.listen(port, () => {
  // console.log(`Server is running on port: ${port}`);
});

我客户的软件包。顺便说一下,json不包含任何代理命令。我把它拿走了。不管怎样,该错误在有/没有它的情况下出现。

此外,根据一些建议,我尝试在Azure配置中将网站\u端口设置为8080。但到目前为止,一切都不起作用。

如果我能得到一些详细的指导来解决这个问题,我将不胜感激。我不是在用电脑。yml文件,以防有帮助。


共有1个答案

章光华
2023-03-14

我发现艾萨克已经设法用以下解决方案解决了这个问题。

在文件中添加tty: truedocker-compose.yml。此外,要使前端-后端交互在应用程序中按预期工作,请将客户端package.json中的代理命令更改为以下内容:

"代理":"超文本传输协议://后端: 5000"

以及在docker compose中更改链接命令。yml对此表示感谢:

  - "backend:be"

在此分享答案,以帮助将来可能遇到相同问题的其他人。

 类似资料:
  • 首先,我知道有几个类似的问题,我尝试了答案中的建议,但没有帮助。 我有一个ASP。NET核心web应用程序作为Linux容器运行。该应用程序在本地构建并运行良好。部署到Azure时,应用程序无法启动,我可以看到以下错误: 站点mytestapp的容器mytestapp_0_560a15e8未在预期时间限制内启动。运行时间=230.4559912秒 容器mytestapp_0_560a15e8未响应

  • 我使用Linux web app服务在Azure上创建了一个Nodejs应用程序(ExpressJS)。我通过Kudu成功地部署了代码。在一些代码更改之后,容器没有响应端口上的HTTP ping。我已经添加了网站\u端口8080,端口8080和网站\u容器\u开始\u时间限制:1800但没有运气。下面是api日志流的屏幕截图。你们能帮帮我吗? API日志流截图 节点版本:10.10

  • 我在将Django应用程序部署到Azure应用程序服务时遇到问题。我在检查日志时遇到错误: 没有响应端口: 8000上的HTTP ping,站点启动失败。请参见容器日志进行调试。 我已经按照这里的说明解决了这个问题,但还是没有运气:https://docs.microsoft.com/en-gb/archive/blogs/waws/things-you-should-know-web-apps-

  • 我已经将python:3.8-slim-buster映像部署到应用程序服务中。一般来说,它运行正常,因为我可以在日志中看到处理过程,但是运行状况检查机制尝试ping托管服务器,但没有响应,因为它只是在循环中运行并处理队列中消息的代码。这很好,但应用程序将因以下错误而终止: 是否有办法删除此等待响应容器预热请求的

  • 我已经使用FTP部署了我的应用程序好几次,一直工作到现在。我没有使用docker,所以我想azure会在我上传文件后对我的应用程序进行docker。我得到两个错误,我不确定是否与端口,我的设置有关。json,我的启动项目。。。我使用的是NetCore 3.1和angular 6。 我已尝试添加端口、ASPNETCORE\u URL。。。以及Azure应用程序设置的其他变量。。。 下面是错误: Az

  • 我尝试过使用以下启动命令,两个命令都成功地启动了应用程序,正如_default_docker中报告的那样。但应用程序服务正在停止容器,因为端口8080的HTTP ping没有得到响应。 生态系统配置。js文件-在本地运行良好,并在端口8080上成功启动了web应用程序,我已将该文件上载到/应用程序服务中的site/wwwroot/文件夹。 *_默认的码头工人。日志 *_码头工人。日志 我曾尝试在A