【发布时间】:2020-12-28 12:40:04
【问题描述】:
我是 Docker 和编码的新手。我已经将它添加为开发依赖项,但每次更改代码时我仍然必须构建图像。我已尝试查找此内容,但没有找到合适/有效的解决方案,因为我正在使用 process.json 文件。
我的 Dockerfile :
FROM node:12.14.1-alpine
# app name
ENV APP_NAME=mock-api
ENV WORK_DIR /deploy/${APP_NAME}
# Create app directory
RUN mkdir -p ${WORK_DIR} && \
chown node:node ${WORK_DIR}
RUN apk add --update gnupg
WORKDIR ${WORK_DIR}
COPY ["yarn.lock", "package.json", "./"]
RUN yarn global add pm2 && yarn install --prod --frozen-lockfile && yarn cache clean
COPY --chown=node:node . .
EXPOSE 3000
USER node
CMD ["pm2-runtime", "--no-daemon", "--raw", "process.json"]
Process.json :
{
"apps": [
{
"name": "mock-api",
"script": "./app.js"
}
]
}
package.json:
{
"name": "mock-api",
"version": "1.0.0",
"description": "Mock API for the testing environment",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "arorasannidhya@gmail.com",
"license": "ISC",
"dependencies": {
"koa": "2.12.0",
"koa-joi-router": "^6.0.2",
"koa-logger": "3.2.1",
"koa-router": "9.0.1",
"openpgp": "4.10.4",
"pm2": "^4.2.3",
"uuid": "^7.0.2"
},
"devDependencies": {
"nodemon": "^2.0.4"
}
}
【问题讨论】:
-
您展示的是生产部署设置;我不会尝试在其中进行实时编辑。使用一个普通的主机开发环境,当它工作时(通过它的单元测试,可以处理简单的请求,等等。)运行
docker build来构建一个镜像。
标签: node.js docker dockerfile package.json nodemon