外观
官方容器方案:Podman 与 Kubernetes 插件
读完这篇,你清楚 OMV 官方的 openmediavault-podman 和 openmediavault-k8s 是干什么的,它们和 Compose 插件的分工,以及你该不该用它们。
先说结论
| 你想做的事 | 用什么 |
|---|---|
| 跑自己挑的应用,例如 Jellyfin、Immich、Vaultwarden | Compose 插件,见安装 Docker 与 Compose 插件 |
| 用官方的 FileBrowser、PhotoPrism、WeTTY、OwnTone 插件 | 直接装对应的插件。Podman 插件只用来看它们的容器、拉取新镜像 |
| 学 Kubernetes,或者想用官方 recipes 部署应用 | Kubernetes 插件 |
新手别在同一台机器上同时折腾 Compose、Podman 和 Kubernetes 三套。
Podman 插件
| 项 | 内容 |
|---|---|
| 包名 | openmediavault-podman |
| 来源 | 官方插件,装好 OMV 就能在 系统 → 插件 里看到 |
| OMV 8 状态 | 截至 2026-10-22,官方软件源 synchrony 里是 8.0.1-1 |
| 菜单位置 | 服务 → Podman → 容器、镜像、Pods、统计、卷(Services → Podman → Containers, Images, Pods, Statistics, Volumes) |
| 依赖 | podman、catatonit、nftables,要求 OMV 8.3.1 以上 |
Podman 是不需要常驻守护进程的容器引擎。官方文档对这个插件的描述是:管理容器、镜像、挂载进容器的卷,以及由一组容器组成的 pod,让用户能拉取一些插件所用容器的最新镜像。
这是关键:官方的 FileBrowser、PhotoPrism、WeTTY、OwnTone 这几个插件,自己就是用 Podman 容器跑的。Podman 插件给你一个界面,查看这些容器的状态、日志、镜像和卷,需要时拉取新镜像。
要分清的几件事:
- 它不是 Compose 插件的替代品。 它没有 compose 文件管理、没有示例清单、没有计划备份。想部署自己的应用,用 Compose 插件。
- Podman 和 Docker 是两套独立的引擎。 官方容器类插件的容器,不会出现在 Compose 插件的列表里,反过来也一样。
- 这些容器的镜像不会自动更新,要在
服务 → Podman → 镜像里手动拉取。拉取之后,官方没有写清楚插件会不会自动重建容器,更新后记得确认容器用的是新镜像,不确定就先备份它的数据。 - 官方容器类插件各用自己的默认端口,启用后会占用:FileBrowser 3670、PhotoPrism 2342、WeTTY 2222、OwnTone 3689。Compose 应用要避开它们,见写好 compose 文件。
- Compose 插件设置页里的 使用 podman(Use podman)是另一回事:它让 Compose 插件改用 Podman 部署你自己的应用,8.1 起是实验性功能,新手别开。
这些插件和对应的 Compose 方案怎么选,见插件还是容器、FileBrowser、PhotoPrism。
Kubernetes 插件
| 项 | 内容 |
|---|---|
| 包名 | openmediavault-k8s |
| 来源 | 官方插件 |
| OMV 8 状态 | 截至 2026-10-22,官方软件源里是 8.2.7-1 |
| 菜单位置 | 服务 → Kubernetes(Services → Kubernetes) |
| 依赖 | 要求 OMV 8.5.11 以上,以及 bash、git、tar、xz-utils |
它在 OMV 上搭一个单节点的 Kubernetes 集群,底层是轻量的 K3s,所以树莓派这类单板机也能跑。官方的描述:
- 预装 Traefik(反向代理)、Cert-Manager 和 Kubernetes Dashboard。
- 默认的负载均衡监听 8080(HTTP)和 8443(HTTPS)。
- 设置页默认不启用,数据存储默认用 SQLite,适合单节点和硬盘慢的单板机,需要高可用才用 etcd。
装在集群里的应用用子域名访问:
text
https://<应用名>.<OMV 的 FQDN>:8443局域网的 DNS 要能解析这些子域名。解析不了时,官方建议用公共服务 sslip.io,它把带 IP 的主机名直接解析到那个 IP:
text
https://<应用名>.<NAS 的 IP>.sslip.io:8443官方提供的 recipes(配方)放在 GitHub 的 openmediavault-k8s-recipes 项目里,插件会以图形列表的方式列出来,方便安装常见应用。每个 recipe 的 YAML 顶部有一块配置区,必须先填好,再部署。
几点要知道:
- 应用不会自动更新。 官方的说法是需要你自己更新,大多数情况下,先删除镜像,再删除应用的 pod 就行。
- 界面比较简陋。 官方自己建议复杂的管理用 Rancher UI(可以用 recipe 安装)或 k9s。
- 端口。 默认的 8080 和 8443 会和很多 Compose 示例的默认端口冲突,比如 qBittorrent 和 Nextcloud AIO。
- 官方文档没有讨论 Docker 和 K3s 同机并存时的网络规则会不会互相影响,这一点本站没有验证。想同时用,先在测试机上试。
适合谁:想学 Kubernetes 的人,或者就是想用官方 recipes 的人。只是想快速把一个应用跑起来,用 Compose 插件省事得多。
检查结果
- 装了官方容器类插件(比如 FileBrowser)并启用后,
服务 → Podman → 容器里能看到它的容器在运行。也可以在 OMV 的 shell 里(root)运行podman ps核对。 - 确认 Compose 的容器列表(
服务 → Compose → Containers)和 Podman 的列表是两套,互相看不到对方的容器,这是正常的。 - 要启用 Kubernetes 插件时,先在 OMV 的 shell 里(root)运行
ss -tulpn | grep -E ":8080 |:8443 ",确认这两个端口没被别的应用占着。启用并应用后,服务 → Kubernetes里能看到资源和事件。
常见问题
服务 → Podman 是空的。 你没有装或没有启用任何官方容器类插件,Podman 页面只列出 Podman 管理的容器。
我已经用 Compose 部署了 FileBrowser,还能再装官方的 FileBrowser 插件吗? 可以共存,但要避开端口冲突,也要想清楚数据和备份各自放在哪里。
启用 Kubernetes 后,原来的应用端口不通了。 先看有没有 8080 或 8443 的冲突。其他情况在 Docker 与应用 里按症状排查,或者先停用 Kubernetes 插件确认是不是它造成的。