【发布时间】:2021-04-28 17:02:49
【问题描述】:
我正在尝试通过 Heroku 上的 Docker 容器部署一个在 express 和 Pm2 中提供服务的简单 nodejs 应用程序。
按照heroku定义的步骤,容器被成功推送到heroku:
- heroku 容器:登录
- heroku 容器:push name-of-container -a name-of-herokuApp
- heroku 容器:发布容器名称-herokuApp 名称
- heroku ps:scale name-of-container=1 -a name-of-herokuApp
这里是 heroku 的日志,显示成功运行映像并为进程分配测功机 Container Deployment Log
问题来了:访问应用程序路由时抛出 Heroku H14 错误,当进程没有 Dynos 时会发生这种情况,在我的情况下它有。 Error H14 Log
我想不出这个错误的原因。我知道这可能是一个愚蠢的错误想 XD!!
这里有我的应用程序的代码:
const express = require('express')
const app = express()
//require('./database')
app.use(express.json())
app.use(express.urlencoded({ extended: false }))
console.log('App is Running, yaaaay')
app.get("/", (req,res) => {
res.send("OK")
})
app.listen(3000)
它与 Pm2 一起运行:
"scripts": {
"dev": "nodemon ./src/app",
"start": "pm2-runtime ./src/app.js --watch --name WD-Bot"
},
另外,这里有我的 DockerFile。我是 Docker 的新手,所以我可能在这里搞砸了 T-T?
FROM node:12.18-alpine
ENV NODE_ENV=production
WORKDIR /usr/src/app
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
【问题讨论】:
标签: node.js docker express heroku pm2