其他分享
首页 > 其他分享> > 使用docker编译前后端项目

使用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