gpt4 book ai didi

reactjs - 多阶段构建无法从上一阶段复制文件

转载 作者:行者123 更新时间:2023-12-02 18:53:46 25 4
gpt4 key购买 nike

我有一个React应用程序,我将其作为多阶段构建进行了 jetty 化。首先,它将应用程序构建到/app/build目录,然后nginx尝试将其复制以提供服务。

FROM node:alpine as build
WORKDIR /app
ADD package.json /app
RUN npm install
ADD . /app
CMD ["npm", "run", "build"]

FROM nginx:alpine
COPY --from=build /app/build/ /usr/share/nginx/html

但是,当我尝试构建镜像时,第二阶段似乎无法从上一阶段复制 /app/build
$ docker build -t foo .
...
Step 8/8 : COPY --fromm=build /app/build /usr/share/nginx/html
COPY failed: stat /var/lib/docker/overlay2/cf1f4930e894ad5b1d404943fb81e45cdd06b8a39abe434a342f5f90f4a1f58f/merged/app/build: no such file or directory

有什么问题,我该如何解决?

最佳答案

问题是第一步的最后一步,

CMD ["npm", "run", "build"]

应该
RUN npm run build

参见 difference between CMD and RUN

关于reactjs - 多阶段构建无法从上一阶段复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49829523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com