使用docker编译前后端项目
作者:互联网
前端项目编译build后,把生成的文件放在后端的public中,然后后端使用dockerfile进行编译
后端nestjs项目:
#第一个阶段:拉取node镜像来打包React项目,as build是给该阶段起名字 FROM node:14 as build #设置docker命令的运行目录,工作空间 WORKDIR /app # 复制src等目录文件到工作空间中 必入 COPY src src/ 表示复制当前src文件夹中的内容到 工作空间(无则创建文件夹) COPY public /app/public COPY src /app/src COPY package.json ./ COPY tsconfig.json ./ COPY nest-cli.json ./ COPY tsconfig.build.json ./ RUN npm set registry https://registry.npm.taobao.org RUN npm install RUN npm run build # 第二个阶段:创建并运行Nginx服务器,并且把打包好的文件复制到服务器文件夹中 # 暴露端口 EXPOSE 4000 CMD ["node","dist/main.js"]
如果是纯前端项目:
#第一个阶段:拉取node镜像来打包React项目,as build是给该阶段起名字 FROM node:14 as build #设置docker命令的运行目录,工作空间 WORKDIR /app # 复制src等目录文件到工作空间中 必入 COPY src src/ 表示复制当前src文件夹中的内容到 工作空间(无则创建文件夹) COPY dist ./ # 第二个阶段:创建并运行Nginx服务器,并且把打包好的文件复制到服务器文件夹中 FROM nginx:alpine # 复制build阶段中 app/build打包文件内容到 nginx文件夹下 COPY --from=build /app/ /usr/share/nginx/html # 暴露端口 EXPOSE 80 CMD ["nginx","-g","daemon off;"]
标签:node,src,app,前后,编译,文件夹,build,docker,COPY 来源: https://www.cnblogs.com/xiaozhumaopao/p/16382920.html