我對云運行很陌生。我創建了一個非常簡單的快速服務器,如下所示,Dockerfile因為我決定從源代碼部署。
import dotenv from 'dotenv';
dotenv.config();
import express from 'express';
const app = express();
const port = process.env.PORT || 8000;
app.get('/test', (req, res) => {
return res.json({ message: 'test' });
})
app.listen(port, async function () {
console.log(`Sample Service running on port ${port} in ${process.env.NODE_ENV} mode`);
});
請注意,我是從源代碼部署的,因此Dockerfile在我的目錄中沒有。
這是我用來部署的命令
gcloud run deploy --source .
然后我不斷回來的錯誤是:
用戶提供的容器無法啟動和偵聽 PORT=8080 環境變數提供的埠。此修訂的日志可能包含更多資訊。
我不知道從哪里來PORT 8080,因為我正在聽PORT 8000而不是 8080。
如何解決?
謝謝
uj5u.com熱心網友回復:
問題很可能與埠無關,而是與導致容器在啟動時失敗的其他問題有關。我建議如下:
- 在 Google 云控制臺中訪問 Cloud Run,對于此特定服務,請轉到 Cloud Run 服務詳細資訊本身的日志。它應該告訴您容器啟動失敗的確切原因。有時,它可能是依賴項、缺少的命令等。
對于正在使用的埠 8080,而不是 8000——Cloud Run 會注入一個默認埠,即 8080。請查看容器合同檔案。您可以通過在 gcloud 命令中指定--port引數來覆寫它,但此時可能沒有必要。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/529540.html
標籤:Google Cloud Collective 节点.js表示谷歌云平台谷歌云运行
下一篇:我正在使用ReactRouter6.4.3中的路由獲取{"message":"PagenotfoundforGET/chat"}
