UNRAID 上部署多个 Streamlit 应用

作者20254个月前 (08-03)其他445

✅ 部署多个 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 映射端口 |
| 可同时运行多个? | ✅ 完全可以,同时访问不同端口即可 |
| 适合什么场景? | 多个项目演示、模块独立部署、团队协作开发等 |


相关文章

Windows系统 安装运行 ShadowsocksR服务端 简单教程

Windows系统 安装运行 ShadowsocksR服务端 简单教程

        服务端和客户端下载地址在底部。运行环境ShadowsocksR服务端是Python编写的,所以需要Pyt...

一些网址搜集

Jack's 新学习基地https://nstudy.org/openwrt固件下载地址https://firmware-selector.openwrt.org/ 7~10代核显驱动:htt...

QNAP威联通NAS怎么通过HBS3设置定时备份计划至外部存储?

QNAP威联通NAS怎么通过HBS3设置定时备份计划至外部存储?

给大家介绍一个威联通nas中非常好用的备份工具,HBS3(也叫做hybrid backup sync),可以通过它,定期的将NAS中的数据备份至外部存储,包括NAS本机的其他存储文件夹、外接硬盘或者公...

zerotier搭建虚拟局域网,自建planet

zerotier搭建虚拟局域网,自建planet

https://github.com/xubiaolin/docker-zerotier-planet 项目地址基于该开源项目 自建planet节点,更快速,更安全本教程依据docker-z...

热点主机是 Windows,连接的电脑是 Ubuntu,两者互访

热点主机是 Windows,连接的电脑是 Ubuntu,两者互访

如果连接的电脑是 Ubuntu(或其他 Linux 系统),而热点主机是 Windows,要让两者互访(文件共享、Ping 等),需要额外调整 Ubuntu 的网络配置和共享设置。以下是具体步骤确保...