我的目标是部署一个用Sreamlit编写的简单网络应用,例如
app.py
import streamlit as st
st.title('Hello World!')
我可以通过在命令行中运行streamlit run app.py
在本地计算机上运行此命令。
但是,我不确定如何在GCP的App Engine中修改app.yaml文件来部署它。
有什么建议吗?
答案 0 :(得分:2)
您可以为此使用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