尝试执行云构建以将应用程序部署到云运行时出错

问题描述

我尝试将应用程序部署到 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兼容。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...