问题描述
我正在使用之前构建的 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 (将#修改为@)