【发布时间】:2022-01-23 03:55:37
【问题描述】:
我最近开始使用 streamlit,这绝对是一个很棒的用于仪表板和可视化机器学习应用程序的库。
但是,我目前的部署工作流程是 Docker 和 Heroku。我找不到关于如何轻松地将托管在 Docker 容器中的 streamlit 应用程序部署到 Heroku 的简单文档。因此,我想记录一些我在这里找到的简单内容。
【问题讨论】:
标签: python docker heroku streamlit
我最近开始使用 streamlit,这绝对是一个很棒的用于仪表板和可视化机器学习应用程序的库。
但是,我目前的部署工作流程是 Docker 和 Heroku。我找不到关于如何轻松地将托管在 Docker 容器中的 streamlit 应用程序部署到 Heroku 的简单文档。因此,我想记录一些我在这里找到的简单内容。
【问题讨论】:
标签: python docker heroku streamlit
经过一些研究并使用代码,这似乎是最简单的方法:
.streamlit 文件夹,config.toml 将在其中保存config.toml 中编写以下代码:[browser]
serverAddress = '0.0.0.0'
CMD streamlit run --server.port $PORT app.py
例如,这是我基于streamlit当前提供的code example的完整Dockerfile
FROM continuumio/miniconda3
WORKDIR /home/app
RUN apt-get update
RUN apt-get install nano unzip
RUN apt install curl -y
RUN curl -fsSL https://get.deta.dev/cli.sh | sh
RUN pip install boto3 pandas gunicorn streamlit
COPY . /home/app
CMD streamlit run --server.port $PORT app.py
在开发中,只需使用 PORT 环境变量和如下端口映射运行您的容器:
docker run -it MY_DOCKER_IMAGE -p HOST_PORT:CONTAINER_PORT -e PORT=CONTAINER_PORT
如果在本地一切正常,那么您可以按照本教程将您的容器部署到 Heroku:
【讨论】: