Docker部署Node项目
把一个 Node.js web 应用程序给 Docker 化 | Node.js (nodejs.org)
部署 Express 项目
前提:准备一个 Express 项目以及 Docker 环境
在 Express 项目根目录下创建 Dockerfile 文件,内容如下
Dockerfiledockerfile
FROM node:alpine as builder
WORKDIR /app
COPY . .
RUN npm install
EXPOSE 3000
CMD ["npm", "run", "start"]
上述代码的大致意思如下
- 下载 node 环境
- 设置 RUN CMD COPY ADD 指令的工作目录
- 拷贝宿主机(当前运行终端的位置)的文件到容器中的 app 目录中
- 安装 npm 包
- 暴露 3000 端口
- 执行
npm run start
脚本命令
在执行命令前,还需要创建.dockerignore,将一些不必要的文件排除(其作用于.gitignore 一致)
.dockerignoredockerfile
/dist
/node_modules
package-lock.json
yarn.lock
此时打开终端,输入
docker build -t my-app .
将会执行 Dockerfile 命令,待所有命令执行完毕后,将会创建 my-app 的镜像
执行启动容器命令,将服务启动。
docker run --name my-app -p 3000:3000 my-app