如何解决在 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 举报,一经查实,本站将立刻删除。