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;"]
|