在 docker monorepo 中热重载

问题描述

我正在使用之前构建的 react monorepo 项目。它有一个 docker 设置来构建和运行应用程序。需要在应用程序上进行额外开发的问题,我看不到在每次更改后不重建 docker 映像的情况下完成此任务的方法。我对 docker 只比较熟悉,我通常会用卷来解决这个问题,但这似乎不起作用,我猜这是由于 monorepo。

这是 Docker 文件。我相信热重载不会发生,因为我们从构建中复制 /apps 并且在重建 monorepo 之前不会改变。我正在考虑编写一个单独的 docker 命令来加载特定的应用程序。有没有更好的方法来处理这个问题?

ARG NODE_VERSION=13.7.0-alpine

FROM node:$NODE_VERSION as base

ARG ARTIFACTORY_USER
ARG ARTIFACTORY_PASSWORD

ENV NODE_PATH=/src
workdir $NODE_PATH

RUN apk --no-cache add curl
RUN curl --silent -u$ARTIFACTORY_USER:$ARTIFACTORY_PASSWORD         https://automaton.jfrog.io/automaton/api/npm/auth >> ~/.npmrc




FROM base as build

# Install root dependencies
copY package.json yarn.lock .yarnrc ./
RUN yarn install --frozen-lockfile

copY . .

# Build and Install monorepo packages and dependencies
RUN yarn install --frozen-lockfile && \
  yarn build && \
  yarn install --production --ignore-scripts --prefer-offline && \
  yarn cache clean

ENV APP_PORT=3000
EXPOSE $APP_PORT

CMD yarn workspace $APP_NAME start





FROM node:$NODE_VERSION

ENV NODE_PATH=/src
ENV APP_PORT=3000

workdir $NODE_PATH

copY --from=build $NODE_PATH/apps ./apps
copY --from=build $NODE_PATH/packages ./packages
copY --from=build $NODE_PATH/node_modules ./node_modules
copY --from=build $NODE_PATH/package.json ./
copY --from=build $NODE_PATH/babel.config.js ./
copY --from=build $NODE_PATH/secrets.js ./

EXPOSE $APP_PORT

CMD yarn workspace $APP_NAME start

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)