NasCab Docker 容器部署完整命令和注意事项
NasCab 官方提供了 Docker 镜像 ypptec/nascab,支持 X86-64 和 arm64 架构。Linux 和 Mac 用户推荐这种方式,Windows 用户不要在 Windows 宿主机上用 NasCab docker(文件变动监控会失效)。
基本命令
docker run -v /myData:/myData -v /nascabData:/root/.local/share/nascab -p 8888:80 -p 5555:90 -d --log-opt max-size=10m --log-opt max-file=3 ypptec/nascab
逐段解释:
| 参数 | 作用 |
|---|---|
-v /myData:/myData | 把宿主机的 /myData 挂载到容器内的 /myData,这是你的媒体数据盘 |
-v /nascabData:/root/.local/share/nascab | 必须映射——容器内的数据库和缓存目录,不映射容器重建会丢数据 |
-p 8888:80 | NasCab 网页服务端口,左数是宿主机端口,可随便换(别冲突) |
-p 5555:90 | WebDAV 服务端口,不用可省略 |
-p xxxx:21 | FTP 服务端口,不用可省略 |
--log-opt ... | 限制 docker 日志大小,不然跑久了日志会占满磁盘 |
Linux 示例(推荐)
docker run -itd \
-v /data/nascab/media:/myData \
-v /data/nascab/cache:/root/.local/share/nascab \
-p 8888:80 \
--log-opt max-size=10m --log-opt max-file=3 \
ypptec/nascab
-itd 配合后台运行,-v 前的路径确保宿主机先建好。
Mac 示例
docker run -itd \
-v /Users/你的Mac用户名:/myData \
-v /Users/你的用户名/Documents/nascabData:/root/.local/share/nascab \
-p 8888:80 \
--log-opt max-size=10m --log-opt max-file=3 \
ypptec/nascab
访问
部署成功后:
- 本机:
localhost:8888 - 局域网其他设备:
宿主机IP:8888(宿主机 IP 通过ip addr或ifconfig查看)
更新版本
docker pull ypptec/nascab:latest
docker stop <旧容器ID>
docker rm <旧容器ID>
docker run ... # 用同样的 -v 参数
只要缓存目录映射没换,数据库和扫描结果完整保留。
常见问题
Windows 下 docker 文件变动不生效
这是 NasCab 官网 Docker 页面明确提示的限制。Windows Docker 对宿主机文件系统的变动事件监听不完整,照片增减后需要手动进 NasCab 设置 → 来源文件夹 → 点「扫描变动」或重启容器。Linux / Mac 宿主没有这个问题。
群晖 / 绿联 NAS 部署
部分品牌 NAS 会在共享目录下自动生成缩略图文件(比如群晖的 @eaDir)。在 NasCab 来源文件夹的路径排除里加 /@eaDir/ 就能过滤掉这些干扰项。
docker 日志太大
务必带上 --log-opt max-size=10m --log-opt max-file=3 参数。官网明确提到部分绿联 NAS 用户曾因此遇到问题。