# 使用官方的 Node.js 20.10.0 版本作为基础镜像
|
FROM node:v20.14.0 AS build-env
|
|
# 设置工作目录
|
WORKDIR /app
|
|
# 将当前目录(Vue 项目目录)的内容复制到 /app 目录中
|
COPY . /app
|
|
# 安装项目依赖
|
RUN npm install
|
|
# 构建项目
|
RUN npm run build-only
|
|
# 查看
|
RUN ls /app/dist
|
|
# 创建一个目录来存放打包后的文件
|
RUN mkdir -p /app/dist-final
|
|
# 将构建阶段中的打包文件拷贝到最终镜像的指定目录
|
# 注意:这里使用了 `--from=build-env` 来引用前面的构建阶段
|
# COPY --from=build-env /app/dist /app/dist-final
|
|
# 创建一个新的镜像阶段来服务构建后的文件
|
FROM nginx:alpine
|
|
# 复制构建后的文件到 Nginx 的 html 目录
|
# 注意:这里假设在 build-env 阶段中 dist 目录被正确创建在 /app/dist
|
COPY --from=build-env /app/dist /app/dist-final
|
|
# 暴露端口
|
EXPOSE 8310
|
|
# 启动 Nginx
|
CMD ["nginx", "-g", "daemon off;"]
|