如何解决尝试执行云构建以将应用程序部署到云运行时出错
我尝试将应用程序部署到 GCP 中的云运行,该应用程序使用 docker 文件成功执行。现在,我正在使用 cloudbuild.yaml 设置 CI/CD。我将 repo 镜像到 CSR 并创建了一个 cloudbuild 服务并放置了 cloudbuild。 yaml 在我的存储库中。从 cloudbuild 执行时,它会引发以下错误。
Status: Downloaded newer image for gcr.io/google.com/cloudsdktool/cloud-sdk:latest
gcr.io/google.com/cloudsdktool/cloud-sdk:latest
deploying...
Creating Revision...Failed
Deployment FailedERROR: (gcloud.run.deploy) Cloud Run error: Container Failed to start. Failed to start and then listen on the port defined by the PORT environment variable.
Docker 文件附在下面:
#pulls python 3.7’s image from the docker hub
FROM python:alpine3.7
#copies the flask app into the container
copY . /app
#sets the working directory
workdir /app
#install each library written in requirements.txt
RUN pip install -r requirements.txt
#exposes port 8080
EXPOSE 8080
#Entrypoint and CMD together just execute the command
#python app.py which runs this file
ENTRYPOINT [ "python" ]
CMD [ "app.py" ]
cloudbuild.yaml:
steps:
# Build the container image
- name: 'gcr.io/cloud-builders/docker'
args: ['build','-t','gcr.io/projectid/servicename','.']
# Push the container image to Container Registry
- name: 'gcr.io/cloud-builders/docker'
args: ['push','gcr.io/projectid/servicename']
# Deploy container image to Cloud Run
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
entrypoint: gcloud
args:
- 'run'
- 'deploy'
- 'phase-2'
- '--image'
- 'gcr.io/projectid/servicename'
- '--region'
- 'us-central1'
- '--platform'
- 'managed'
images:
- 'gcr.io/projectid/servicename'.
解决方法
OP 解决了问题,如评论所示:
问题解决了。这是因为python兼容性问题。我应该在docker文件中使用pip3和python3。我认为gcr.io镜像与python3兼容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。