UNRAID 上部署多个 Streamlit 应用

作者20257个月前 (08-03)其他567

✅ 部署多个 Streamlit 实例的关键点

项目要做的事情示例(第二个实例)
📁 应用目录每个应用要有独立的目录/mnt/user/appdata/streamlit_app2/
📄 app.py 内容每个项目的代码可以不同(也可相同)streamlit_app2/app.py
📦 Docker 镜像名建议为不同名称,但可复用同一镜像streamlit-app(可共用)
🐳 容器名称必须唯一--name streamlit-demo2
🌐 对外端口必须不重复-p 8502:8501(容器内部都是 8501)

🧱 示例:部署第二个 Streamlit 应用

1. 复制第一套项目目录

bashCopyEditcp -r /mnt/user/appdata/streamlit_demo /mnt/user/appdata/streamlit_app2

或者自己创建一个新的目录,放入新的 app.pyrequirements.txt 等。


2. 构建(可复用已有镜像)

如果内容差不多,可以直接用已有镜像 streamlit-app,无需重建。


3. 运行新容器(改端口和容器名)

bashCopyEditdocker run -d \
  --name streamlit-demo2 \
  -p 8502:8501 \
  -v /mnt/user/appdata/streamlit_app2:/app \
  streamlit-app

4. 访问方式

打开浏览器访问:

cppCopyEdithttp://[UNRAID IP]:8502

🚀 可选:多个 docker-compose.yml 管理多个实例

你也可以使用多个 docker-compose.yml 文件,例如放在不同目录内分别管理:

swiftCopyEdit/mnt/user/appdata/streamlit_demo/docker-compose.yml/mnt/user/appdata/streamlit_app2/docker-compose.yml

然后分别运行:

bashCopyEditdocker-compose up -d

✅ 总结

| 可以共享镜像 | ✅ 是的(streamlit-app 可通用) |
| 需要独立容器和端口 | ✅ 每个容器用不同的 --name-p 映射端口 |
| 可同时运行多个? | ✅ 完全可以,同时访问不同端口即可 |
| 适合什么场景? | 多个项目演示、模块独立部署、团队协作开发等 |


相关文章

从用户分层RFM模型延伸间接人员的RFM

在商业中,用户分层RFM模型(通过最近一次消费时间(Recency)、消费频率(Frequency)、消费金额(Monetary)对客户分类)确实能有效指导资源分配和策略制定。而对于间接人员(如行政、...

UNRAID 系统中安装 Docker 版的 MySQL

在 UNRAID 系统中安装 Docker 版的 MySQL,可以通过图形界面(Unraid Web UI)轻松完成。下面是 详细的步骤和方法:✅ 前提条件已安装并运行 UNRAID 系统UNRAID...

基岩版-我的世界 单人记录导入到docker版本

要将 Minecraft Windows 基岩版(Bedrock Edition) 单人模式下的地图(世界数据)导入到 Docker 部署的 Bedrock Dedicated Server(BDS)...

小雅影视媒体库全家桶 永久免费的小雅EMBY媒体库全家桶搭建教程

小雅影视媒体库全家桶 永久免费的小雅EMBY媒体库全家桶搭建教程

小雅全家桶搭建文字教程准备工作(硬件要求):需要NAS或者软路由搭建小雅全家桶运行内存4GB以上「实测5GB更流畅,可以增加虚拟内存」硬盘有170GB空余存储空间「推荐SSD固态存储,Emby 海报墙...

零基础新手节点搭建教程、S‐UI面板自建上网节点、包含多协议应有尽有、一次学会

零基础新手节点搭建教程、S‐UI面板自建上网节点、包含多协议应有尽有、一次学会

视频教程地址 https://youtu.be/6l01iAgKglY?t=174SSH连接工具任选其中一个即可FinalShell(推荐):FinalShell下载MobaXterm:MobaXte...