Pavel Perevezencev Asked:2020-04-03 05:17:47 +0000 UTC2020-04-03 05:17:47 +0000 UTC 2020-04-03 05:17:47 +0000 UTC 用于反应的 Docker + nginx 应用程序 772 我正在使用 create-react-app 构建一个应用程序。尝试为 cd 设置 docker。我的码头文件 FROM nginx CMD npm run build EXPOSE 80 COPY build /usr/share/nginx/html 启动时出现错误 lstat build: no such file or directory 更新 docker 2 个回答 Voted Best Answer etki 2020-04-03T20:13:19Z2020-04-03T20:13:19Z 您很可能在 COPY 命令中遇到了歧义。据我从上游命令可以看出,您在构建图像并尝试将结果复制到/usr/share/nginx/html. 然而,COPY 命令旨在将文件和目录从上下文移动到正在构建的映像中(粗略地说 - 在外部,在主机上),当 Docker 试图在上下文中找到构建目录时,它无法在那里找到它- 事实上,它在图像内部,您需要使用 RUN 指令运行其他几个命令: RUN rm -rf /usr/share/nginx/html && mv build /usr/share/nginx/html 在执行此操作之前,请确保构建结果确实位于build当前工作目录的相对目录中,否则您可能会遇到相同性质的错误。 Mikhail Vaysman 2020-04-03T17:08:25Z2020-04-03T17:08:25Z 确保运行映像构建的目录具有构建目录/文件。该命令COPY应如下所示 COPY build /usr/share/nginx/html/ 注意最后/
您很可能在 COPY 命令中遇到了歧义。据我从上游命令可以看出,您在构建图像并尝试将结果复制到
/usr/share/nginx/html. 然而,COPY 命令旨在将文件和目录从上下文移动到正在构建的映像中(粗略地说 - 在外部,在主机上),当 Docker 试图在上下文中找到构建目录时,它无法在那里找到它- 事实上,它在图像内部,您需要使用 RUN 指令运行其他几个命令:在执行此操作之前,请确保构建结果确实位于
build当前工作目录的相对目录中,否则您可能会遇到相同性质的错误。确保运行映像构建的目录具有构建目录/文件。该命令
COPY应如下所示注意最后
/