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来访问已部署的容器。
Host List
hot news