25 lines
957 B
Docker
25 lines
957 B
Docker
|
# 第一阶段
|
|||
|
# 使用alpine镜像,可以减少构建后docker镜像文件的体积
|
|||
|
FROM node:14-alpine as build-stage
|
|||
|
|
|||
|
# 设置工作目录
|
|||
|
WORKDIR /ruoyi_ui
|
|||
|
# 先copy package.json文件到工作目录,一般我们的项目中依赖是不会变的,这样可以充分利用缓存减少部署时的构建时间
|
|||
|
COPY package*.json /ruoyi_ui/
|
|||
|
# 安装node_modules
|
|||
|
RUN npm config set registry=https://registry.npmmirror.com/
|
|||
|
RUN npm install
|
|||
|
# 将所有文件copy到工作目录
|
|||
|
COPY . /ruoyi_ui
|
|||
|
# 开始打包
|
|||
|
RUN npm run build:prod
|
|||
|
# 第二阶段
|
|||
|
# 拉取nginx镜像文件
|
|||
|
FROM nginx
|
|||
|
# 这里的dist文件就是打包好的文件,project是我们上面设置的工作目录
|
|||
|
COPY --from=build-stage /ruoyi_ui/dist /usr/share/nginx/ruoyi_ui
|
|||
|
# default.conf就是我们项目下面的nginx配置文件,我们需要copy到nginx的相应目录
|
|||
|
COPY --from=0 /ruoyi_ui/nginx.conf /etc/nginx/conf.d/default.conf
|
|||
|
EXPOSE 80
|
|||
|
CMD ["nginx", "-g", "daemon off;"]
|