我將基于 nestjs 的后端在 docker 容器中部署到 AWS fargate。部署有效,容器可達,健康檢查為綠色。一切正常并按預期作業。大約 5 分鐘后,出現以下錯誤,容器任務不再可訪問并重新啟動。我不知道發生了什么以及我做錯了什么。
這是來自 Cloudwatch 的錯誤日志:
npm timing command:run-script Completed in 305483ms
npm notice
npm notice New minor version of npm available! 8.1.2 -> 8.3.0
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v8.3.0>
npm notice Run `npm install -g [email protected]` to update!
npm notice
npm verb stack Error: command failed
npm verb stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/index.js:64:27)
npm verb stack at ChildProcess.emit (node:events:390:28)
npm verb stack at maybeClose (node:internal/child_process:1064:16)
npm verb stack at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
npm verb pkgid backend@0.0.1
npm verb cwd /
npm verb Linux 4.14.248-189.473.amzn2.x86_64
npm verb argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "start:prod" "--verbose"
npm verb node v16.13.1
npm verb npm v8.1.2
npm ERR! path /
npm ERR! command failed
npm ERR! signal SIGTERM
npm ERR! command sh -c npm run migrate:deploy && node dist/main
npm verb exit 1
npm timing npm Completed in 305969ms
npm verb code 1
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-12-14T12_24_28_315Z-debug.log
這是我的 docker 檔案:
FROM node:16 as build-stage
WORKDIR /app
COPY package*.json ./
COPY prisma ./prisma/
RUN npm install
COPY . .
RUN npm run build
FROM node:16
COPY --from=build-stage /app/node_modules ./node_modules
COPY --from=build-stage /app/prisma ./prisma
COPY --from=build-stage /app/resources ./resources
COPY --from=build-stage /app/package*.json ./
COPY --from=build-stage /app/dist ./dist
EXPOSE 3001
CMD [ "npm", "run", "start:prod", "--verbose"]
如果有人可以幫助我,我會非常高興和感激:) 謝謝。
uj5u.com熱心網友回復:
看起來您收到了 SIGTERM。您是否可能在 ECS 服務前配置了負載均衡器并且健康檢查失敗(從而強制回收容器)?
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/382123.html
標籤:节点.js 码头工人 嵌套 aws-fargate 棱镜
上一篇:來自docker-compose的ASPNETCORE_URLS沒有覆寫appsetting.production.json
