如何在 App Engine (GCP) 上部署 Streamlit 应用程序?
How do you deploy a Streamlit app on App Engine (GCP)?
我的目标是部署一个用 Sreamlit 编写的简单网络应用程序,例如
app.py
import streamlit as st
st.title('Hello World!')
我可以在我的本地机器上 运行 通过 运行ning streamlit run app.py
在我的命令行中执行此操作。
但是,我不确定如何修改 GCP 的 App Engine 中的 app.yaml 文件来部署它。
有什么建议吗?
您可以为此使用 App Engine 柔性环境,因为您可以指定 custom runtime。遵循的步骤是:
创建 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。
使用所需的依赖项创建 requirements.txt 文件:
streamlit
创建 app.yaml 文件:
runtime: custom
env: flex
app.yaml 和 Dockerfile 必须在同一个文件夹中。以上app.yaml设置是非常基础的,更多信息可以在documentation.
中找到
然后要部署您需要使用以下 gcloud 命令:gcloud app deploy
我的目标是部署一个用 Sreamlit 编写的简单网络应用程序,例如
app.py
import streamlit as st
st.title('Hello World!')
我可以在我的本地机器上 运行 通过 运行ning streamlit run app.py
在我的命令行中执行此操作。
但是,我不确定如何修改 GCP 的 App Engine 中的 app.yaml 文件来部署它。
有什么建议吗?
您可以为此使用 App Engine 柔性环境,因为您可以指定 custom runtime。遵循的步骤是:
创建 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。
使用所需的依赖项创建 requirements.txt 文件:
streamlit
创建 app.yaml 文件:
runtime: custom env: flex
app.yaml 和 Dockerfile 必须在同一个文件夹中。以上app.yaml设置是非常基础的,更多信息可以在documentation.
中找到
然后要部署您需要使用以下 gcloud 命令:gcloud app deploy