docker 运行 node web 服务

2021-03-24 宋洋葱 宋洋葱

进入 node 项目,文件结构如下:

ls
# logs  node_modules  package.json  package-lock.json  public  README.md  src  tsconfig.json

建立一个 Dockerfile 文件,内容如下:

FROM node:14.15-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
COPY . .
EXPOSE 8080 # web服务监听的端口
CMD [ "npm", "run", "dev" ]

建立一个 .dockerignore 文件,内容如下:

.vscode
log
logs
node_modules
public

构建镜像

# 别忘了最后的 . 表示当前目录下
docker build -t my-web-image .
# 完成后可查看
docker images

运行刚刚构建好的镜像

docker run -p 49160:8080 -d my-web-image

参考文档