如何在App Engine(GCP)上部署Streamlit应用程序?

时间:2019-11-26 13:30:35

标签: google-app-engine deployment google-cloud-platform streamlit

我的目标是部署一个用Sreamlit编写的简单网络应用,例如

app.py

import streamlit as st
st.title('Hello World!')

我可以通过在命令行中运行streamlit run app.py在本地计算机上运行此命令。

但是,我不确定如何在GCP的App Engine中修改app.yaml文件来部署它。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您可以为此使用App Engine灵活的环境,因为您可以指定custom runtime。要遵循的步骤将是:

  1. 创建Dockerfile:

    FROM python:3.7
    EXPOSE 8080
    WORKDIR /app
    COPY requirements.txt ./requirements.txt
    RUN pip3 install -r requirements.txt
    COPY . .
    CMD streamlit run app.py --server.port 8080
    

    我已更新Dockerfile,因为App Engine flex要求服务器在端口8080上侦听。

  2. 创建具有所需依赖项的requirements.txt文件:

    streamlit
    
  3. 创建app.yaml文件:

    runtime: custom
    env: flex
    

    app.yaml和Dockerfile必须位于同一文件夹中。上面的app.yaml设置非常基础,可以在documentation中找到更多信息。

然后要部署,您需要使用以下gcloud命令:gcloud app deploy