编写 Dockerfile
# FROM 指定基础镜像,必须为第一个命令,且必须通过 docker pull 安装对应镜像
FROM node:14-alpine
# ENV设置环境变量
ENV PROJECT_ENV production
# 许多 package 会根据此环境变量,做出不同的行为
# 另外,在 webpack 中打包也会根据此环境变量做出优化,但是 create-react-app 在打包时会写死该环境变量
ENV NODE_ENV production
# 工作目录,类似于cd命令
WORKDIR /code
# 通过 WORKDIR 设置工作目录后,Dockerfile中其后的命令RUN、CMD、ENTRYPOINT、ADD、COPY等命令都会在该目录下执行
ADD . /code
RUN npm install && npm run build && npm install -g http-server
EXPOSE 80
CMD http-server ./public -p 80