如何解决使用Docker将带有Flask后端的React应用部署到Google Cloud SDK,react-scripts错误
我已经编写了一个我认为可以完成的应用程序,除了部署它。部署后,还会有更多添加,但是我已经足够了,我想调用第一个版本。这是国际象棋,有我自己添加的变体/分拆。我有1年免费的Google Cloud服务,并想使用它。我会承认该应用程序的计划还不够完善。在Flask中存在用于确定每个棋子可以移动到哪里的游戏逻辑,这很容易用JavaScript编写。其他所有内容都存在于create-react-app中,使用React-DnD进行移动。结果是这样的,因为当我开始编写Python时,它很容易成为我最舒适的语言,并且我不想同时处理游戏逻辑和学习新的编程技能。但这也是我学习React的主要目标之一。
问题似乎出在用我的Flask和React编写正确的Dockerfile以便部署到Google Cloud SDK。 这是我的Dockerfile:
FROM node:13.12.0-alpine as build
WORKDIR /app/react_frontend
COPY ./react_frontend/package.json ./
COPY ./react_frontend/package-lock.json ./
RUN yarn install
COPY ./react_frontend ./
RUN yarn build
FROM python:3.7
WORKDIR /app/python_backend
ENV PYTHONPATH "${PYTHONPATH}:/app"
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY ./python_backend ./
COPY --from=build /app/react_frontend/dist/ ./static/
CMD python3 app/python_backend/app.py
此Stackoverflow页面中使用了哪个:
Flask and React App in single Docker Container
询问者恰好具有相同的源代码目录名称,除了他有flask_backend
和我有python_backend
。尝试使用Dockerfile将应用程序部署到Cloud SDK时出现以下错误。下面列出了我用于遵循部署到Cloud SDK的步骤的视频:
Step 7/15 : RUN yarn build
---> Running in 88b660b11f6f
yarn run v1.22.4
$ react-scripts build
←[91m/bin/sh: ←[0m←[91mreact-scripts: Permission denied←[0m←[91m
←[0m←[91merror Command failed with exit code 126.
←[0minfo Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
The command '/bin/sh -c yarn build' returned a non-zero code: 126
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/docker" failed: step exited with non-zero status: 126
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ERROR: (gcloud.builds.submit) build 74fab064-8623-4ae8-aa83-636c10a9877d completed with status "FAILURE"
https://www.youtube.com/watch?v=t5EfITuFD9w&t=138s
他的Dockerfile用于Flask应用程序,该应用程序为简单的html页面调用render_template(),他不使用任何React
对于React来说我是一个新手,对Docker和Google Cloud来说是一个新手。我正在尝试遵循该YouTube视频的指导,以使用Cloud SDK进行部署(该特定部分从3:53开始),但是需要一个Dockerfile才能正常部署一个不断调用Flask的React App。我仍然需要使它成为无状态的容器,即现在,我的Flask保存到本地文件系统,该文件系统需要修复。我打算使用Firebase。但是,这似乎与我遇到的错误无关,所以如果不是这种情况,请告诉我。请让我知道您需要查看的任何其他代码或任何其他依赖项。谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。