| | FROM node:20 AS build
|
| |
|
| | # 添加 git,以便之后能从GitHub克隆项目
|
| | RUN apt install git
|
| |
|
| | # 从 GitHub 克隆项目到 /app 目录下
|
| | RUN git clone https:
|
| | COPY ./logo.png /app/web/src/assets/logo.png
|
| | COPY ./logo.png /app/web/src/public/favicon.ico
|
| | COPY ./home.vue /app/web/src/pages/home.vue
|
| | COPY ./toolbar.vue /app/web/src/components/toolbar.vue
|
| | COPY ./constant.ts /app/backend/utils/constant.ts
|
| | COPY ./app.ts /app/backend/app.ts
|
| |
|
| | WORKDIR /app
|
| | RUN yarn install && yarn add axios && yarn run build
|
| |
|
| | WORKDIR /app/web
|
| | RUN yarn install && yarn run build
|
| |
|
| | FROM node:20-alpine
|
| | WORKDIR /app
|
| |
|
| | # Install dotenvx
|
| | RUN curl -fsS https:
|
| |
|
| | COPY .env /app
|
| |
|
| | COPY --from=build /app/dist ./dist
|
| | COPY --from=build /app/backend ./backend
|
| | COPY --from=build /app/web/build ./web/build
|
| | COPY --from=build /app/package.json ./
|
| |
|
| | # RUN yarn config set registry https:
|
| | RUN yarn install --production && yarn cache clean
|
| |
|
| | EXPOSE 3000
|
| | CMD yarn run start |