行业新闻

成都MES系统在Google Cloud Run上部署容器

添加时间:2021-05-25 09:19:45

Google Cloud Run是通过安全的https连接进行API部署的快速且可扩展的解决方案之一,可以被视为每个开发人员的首选。好吧,firebase适用于静态网站,对吗?如果我们也可以在Firebase上部署动态网站怎么办?您只需要Cloud Run即可。在这里,在本教程中,我们将向您展示如何在Cloud Run上部署一个简单的网站。我们将在网站上使用Flask。首先使用Google Cloud SDK设置系统。如果您不知道该怎么做,建议您在这里阅读其官方文档。


启用Cloud Run API

接下来,您需要启用Cloud Run API。


转到Cloud Console中的Marketplace。

然后搜索Cloud Run API并启用它

完成所有这些步骤后,您的页面应如下所示


云运行API


创建项目

现在,有趣的部分开始了。让我们看一下代码。


首先创建一个项目文件夹。就我而言,我将使用名称Cloud Run Tutorial。

转到项目文件夹并创建一个名为requirements.txt的文件,并将Flask == 1.1.1添加到该文件中。

现在创建一个名为app.py的python文件,并在其中添加以下几行。

# importing Flask

from flask import Flask

app = Flask(__name__)

  

# specifying the route

@app.route('/')

def hello_world():

    return 'Hello, World !'

  

# this if block make sure that Flask app runs 

# only if the file is executed directly

if __name__ == '__main__':

    # exposing port 8080 of localhost

    app.run(host ='0.0.0.0', port = 8080)

如果您对以上代码有任何疑问或想了解更多信息,我希望您在这里阅读烧瓶的文档。


接下来,创建一个名称为Dockerfile(无任何扩展名)的Dockerfile,并向其添加以下代码行。

#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" ] 

部署项目

现在,您的项目已准备好进行部署。要将其部署到Google Cloud Run,我们需要将项目和容器打包到Google Container Registry(gcr)。





让我们看看如何做到这一点。


转到您的项目目录并打开终端。

键入gcloud init并选择要在其中部署网站的GCP项目,并记下项目ID。

键入export project_id = THE_PROJECT_ID_NOTED。

然后输入gcloud builds commit -tag gcr.io/${project_id}/helloworld:v1。这将需要几分钟才能完成。

然后输入gcloud run deploy –image gcr.io/${project_id}/helloworld:v1 –platformmanaged

系统将提示您输入服务名称:按ENTER接受默认名称helloworld。

系统将提示您输入区域:选择所需的区域。

系统将提示您允许未经身份验证的调用:响应y

然后等待片刻,直到部署完成。成功后,命令行将显示服务URL。


通过在Web浏览器中打开服务URL来访问已部署的容器。


来源: