【发布时间】:2020-02-25 15:21:14
【问题描述】:
我有一个简单的 node.js - express 应用程序,并将监听端口设置为 3000。
在我的 Dockerfile 上,我公开端口 3000 并使用 -p 3000:3000 运行容器。
我想使用我的 docker 镜像在 Heroku 上部署我的应用,正确的做法是什么?
我知道在这些情况下,我们使用process.env 或在.env 文件中指定一个全局变量。
我在我的 Dockerfile 下面列出。
FROM node:10-alpine as builder
ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}
RUN apk --no-cache add python make g++
COPY package*.json ./
RUN npm install --only=production
# RUN npm ci --only=production
FROM node:10-alpine
WORKDIR /usr/src/app
COPY --from=builder node_modules node_modules
COPY . .
EXPOSE 3000
CMD [ "npm", "run", "start:prod" ]
解决问题的正确方法是什么? 此外,我们非常欢迎任何有关改进我的 Dockerfile 的建议。
【问题讨论】:
标签: node.js docker express heroku deployment