clouddrive2 中文文档 下载 App

用 Docker Compose 部署云盘挂载容器的配置模板

镜像与架构

官方镜像名是 cloudnas/clouddrive2,同一个名字下有 amd64、arm64、arm32 三种架构的 tag,按宿主机 CPU 选。镜像拉不到最新版时,先检查是不是加速器缓存了旧版本,必要时禁用加速器直连官方源。

Compose 模板

services:
  clouddrive2:
    image: cloudnas/clouddrive2
    container_name: clouddrive2
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai
      - CLOUDDRIVE_HOME=/Config
    volumes:
      - <接收挂载的宿主机目录>:/CloudNAS:shared
      - <应用数据目录>:/Config
      - <其他本地媒体目录>:/media:shared
    devices:
      - /dev/fuse:/dev/fuse
    privileged: true
    network_mode: host
    pid: "host"

等价的 CLI 写法(docker run 加 --privileged --network host --pid host --device /dev/fuse:/dev/fuse 与相同卷映射)二选一即可。

逐项解释:哪些能省、哪些不能

配置作用能不能省
/CloudNAS:shared网盘挂载出现的位置,带 shared 才能传播回宿主机不能省,:shared 也不能省
/Config + CLOUDDRIVE_HOME配置持久化,容器重建后账户、挂载点都在不能省
/media:shared宿主机其他本地目录纳入统一管理可选
/dev/fuse 设备映射FUSE 挂载的前提不能省
privileged允许容器做文件系统挂载不能省(或按最小化给 SYS_ADMIN 能力)
network_mode: host用宿主机网络栈,省端口映射可改为映射 19798 端口
pid: host访问监控按进程看才准确可选

前置检查别跳过

容器里的挂载要能出现在宿主机,宿主机目录的挂载传播必须是 shared。不少系统出厂就开着,先查再动:

findmnt -o TARGET,PROPAGATION /path/to/dir

PROPAGATION 列写着 shared 就直接启动容器;没开的两种处理方式单独成篇,见容器挂载看不见时的共享传播排查。

LibreELEC、CoreELEC、飞牛 fnOS 据官方说明默认已开,查一眼确认即可,别白改。飞牛更推荐直接用原生套件,原因见各家 NAS 的套件安装指引。

启动后

浏览器访问宿主机 19798 端口注册账号、接网盘;Docker 里容器自身地址通常不可达,访问地址一律用宿主机 IP。