docker版EasyNVR如何使用同步插件教程(包含网盘挂载,路径映射等)

1.飞牛安装CloudDrive2服务

CloudDrive2 的核心价值是通过 FUSE 真挂载把主流云存储变成本地可读写磁盘,解决云盘访问割裂、本地空间不足、多盘管理复杂等痛点,尤其适合影音播放、跨盘数据迁移、私有部署场景,配合 Docker 可快速落地。

方式一:官方docker指令

有Docker基础的用户可使用命令行按照CloudDrive2官方教程进行部署

方式二:NAS图形页面Docker部署

以飞牛NAS为例,先去确定CloudDrive2要安装的位置

然后创建文件"CloudDrive2"(名字可根据习惯任意填写)

在飞牛的页面中打开"Docker"控制面板,在"compose"菜单中点击"新增项目"按钮; 根据根据命名习惯设置"项目名称",然后点击"路径"右侧的文件图标选择刚刚创建的文件夹; 点击"新建docker-compose.yml"选项,粘贴docker-compose.yml内容后,勾选"创建项目后立即启动";最后点击"确定"

复制代码
version: "2.1"
services:
  cloudnas:
    image: cloudnas/clouddrive2
    container_name: clouddrive2
    environment:
      - TZ=Asia/Shanghai
      - CLOUDDRIVE_HOME=/Config
    volumes:
      - ./clouddrive:/CloudNAS:shared # 文件共享路径,默认在安装目录下,需要移动请修改“./clouddrive”为目标地址
      - ./clouddrive/Config:/Config  # clouddrive2应用数据
      - ./Video:/video:shared # 文件共享路径,默认在安装目录下,需要移动请修改“./Video”为目标地址
    devices:
      - /dev/fuse:/dev/fuse
    restart: unless-stopped
    pid: "host"
    privileged: true
    network_mode: "host"

CloudDrive2默认端口为19798,完成后运行,访问http://<ip>:19798即可,例如http://192.168.28.5:19798

2.使用CloudDrive2挂载网盘到本地

添加网盘

访问CloudDrive2页面后需要登录,如果没有账号可自行注册

登录后,点击左侧的"云存储"菜单,然后点击"添加您的一个云存储"按钮,弹出网盘选择页面

根据自己需要选择要挂在的网盘,这里以百度网盘为例进行演示

点击"使用一下方式授权百度网盘"按钮会弹出新的登录页面,按照提示进行登录

如果登录成功就能看到网盘的容量信息

网盘映射到本地

挂载网盘成功后只能看到网盘的内容,还并不能通过文件目录的方式读写,所以需要挂在本地磁盘

选择页面左侧的"挂载"菜单,点击"添加挂载点"按钮,打开配置页面

在弹出的"添加挂载点"页面中,设置"挂载名称",点击"源目录"右侧的文件夹按钮,选择要挂在的网盘,并选择网盘中的路径

然后点击"挂载点"右侧的文件夹按钮,选择要挂在的目录,如果根据本教程安装的CloudDrive2,必须选择"video"目录;

复制代码
注:在创建docker-compose的时候有一条规则为
- ./Video:/video:shared 
这条规则是docker的映射规则,详细内容可自行研究,如果想要自己创建别的目录可停止docker容器修改docker-compose文件,按照一下规则新增映射目录
- <容器外的目录>:<容器内的目录>:shared 

"选项"必须为"自动挂在",然后点击"高级设置",这里的权限建议设置成0777,避免后续权限异常无法挂在,点击"添加挂载点"

添加完成后能够看到挂在信息

可以从CloudDrive的映射目录查看是否出现挂在的文件名称,如果没有出现,证明挂载异常,请重试以上步骤

3.安装docker版EasyNVR

方式一 使用Docker Compose文件安装EasyNVR

依旧在飞牛nas中创建想要安装软件的位置

然后进入飞牛的Docker,点击compse,点击新建项目,填写参数,粘贴下面的compose文件,勾选创建项目后立即启动,最后点击确定即可

复制代码
services:
  app:
    # AMD 架构
    image: registry.cn-shanghai.aliyuncs.com/rustc/easynvr_amd64:latest
    # ARM 架构请注释下面代码
    # image: registry.cn-shanghai.aliyuncs.com/rustc/easynvr_arm64:latest
    restart: always
    # linux 请使用 host 模式
    network_mode: host
    # MacOS/Windows 请注释上面的 host 模式,并解开以下注释
    # ports:
    #   - 10000:10000/tcp
    #   - 10010:10010/tcp
    #   - 28080:28080/tcp
    #   - 24433:24433/tcp
    #   - 25544:25544/tcp
    #   - 21930:21930/tcp
​
    #   - 15060:15060/tcp
    #   - 15060:15060/udp
​
    #   - 24888:24888/tcp
    #   - 24888:24888/udp
​
    #   - 30000-30500:30000-30500/tcp
    #   - 30000-30500:30000-30500/udp
    logging:
      options:
        max-size: "50M"
    volumes:
      - ./:/app
      - ./r:/app/r
      - /vol1/1000/CloudDrive2/Video/redis:/app/video

成功构建,如图所示

此时即可访问EasyNVR服务,ip(飞牛nas的ip)+端口(默认10000)

成功访问,如图所示,(默认账号密码admin/admin)

方式二使用docker命令安装EasyNVR

利用ssh工具连上飞牛(这里演示使用xshell)

名称自己设置,ip即是飞牛nas的ip,也就是是上述clouddrive的ip

然后点击用户身份登录验证,填写完你自己的飞牛账户密码之后,点击连接即可

ssh连接第一次会弹出该页面,接受并保存即可

注意(连接前检查飞牛是否开始了ssh功能,在系统设置/ssh中)

连接成功,获取管理员权限,进入用户文件夹

复制代码
#获取权限,按提示输入密码即可
sudo -i
#进入用户目录,一般为/vol1/1000
cd /vol1/1000

创建文件夹,进入该目录下

复制代码
mkdir EasyNVR_docker
cd EasyNVR_docker

执行命令参数详解:

  • docker run: Docker 命令,用于创建并启动一个新的容器实例。

  • -d: 在后台运行容器,并返回容器 ID。容器启动后,命令行终端不会连接到容器的标准输入输出,容器独立运行。

  • --name easynvr-container: 为新创建的容器指定一个名称 。此处命名为 easynvr-container

  • --restart always: 设置容器的重启策略always 表示无论容器因何种原因退出(包括正常退出或异常崩溃),Docker 守护进程都会自动尝试重启该容器。这确保了应用的高可用性。

  • --network host: 配置容器的网络模式 。使用 host 模式意味着容器将共享宿主机的网络堆栈。容器内运行的应用程序(如 EasyNVR)可以直接使用宿主机的 IP 地址和端口,无需进行额外的端口映射。这简化了网络配置,但也意味着容器内的应用需要确保其监听的端口在宿主机上是唯一的,以避免端口冲突。

  • --log-opt max-size=50M: 配置容器的日志驱动选项。max-size=50M 表示限制单个日志文件的最大大小为 50 兆字节 (MB)。当日志文件达到此大小时,Docker 会自动轮转日志,创建新的日志文件,防止日志无限增长占用过多磁盘空间。

  • -v "$(pwd)":/app: 配置数据卷 (Volume) 挂载 。将宿主机当前执行命令的目录 ($(pwd) 是一个 shell 命令,用于获取当前工作目录的路径) 挂载到容器内的 /app 目录。容器内 /app 下的文件(如应用主程序、配置文件等)实际上是存放在宿主机的当前目录下,实现了数据持久化。

  • -v "$(pwd)/r:/app/r": 配置另一个数据卷挂载。将宿主机当前执行命令目录下的 r 子目录 ($(pwd)/r) 挂载到容器内的 /app/r 目录。这通常用于存放 EasyNVR 的录像数据或其他特定用途的数据。

  • -v /vol1/1000/CloudDrive2/Video/redis:/app/video: 配置第三个数据卷挂载。将宿主机上的 /vol1/1000/CloudDrive2/Video/redis 目录挂载到容器内的 /app/video 目录。这是为了将该容器路径映射到百度网盘的挂载点,以便于使用同步插件备份录像

  • registry.cn-shanghai.aliyuncs.com/rustc/easynvr_amd64:latest: 指定要使用的Docker 镜像。这是 EasyNVR Pro 应用的 AMD64 架构镜像地址。如果本地不存在此镜像,Docker 会在运行前自动从指定仓库拉取。

复制代码
docker run -d \
  --name easynvr-container \
  --restart always \
  --network host \
  --log-opt max-size=50M \
  -v "$(pwd)":/app \
  -v "$(pwd)/r:/app/r" \
  -v /vol1/1000/CloudDrive2/Video/redis:/app/video \
  registry.cn-shanghai.aliyuncs.com/rustc/easynvr_amd64:latest

使用docker ps查看有哪些容器在运行

如上图所示,即是运行成功,此时访问ip(飞牛nas的ip)+端口(默认10000)例如:192.168.28.5:10000(账户/密码 admin/admin)

4.配置同步插件

来到启动好的EasyNVR中,点击增值扩展,点击安装,安装完成后启用

启用成功后,点击该区域即可进入插件页面

接下来就是新建储存,本地存储目录就是上面映射出的/app/video

成功如图所示

之后创建同步计划,依次添加参数,稍等片刻之后,即可在同步结果处看到结果

至此所有任务全部完成

相关推荐
岁岁种桃花儿2 小时前
详解kubectl get replicaset命令及与kubectl get pods的核心区别
运维·nginx·容器·kubernetes·k8s
IT陈图图2 小时前
Flutter × OpenHarmony 跨端实践:从零构建一个轻量级视频播放器
flutter·音视频·鸿蒙·openharmony
thulium_3 小时前
Redis Cluster + Docker + --net=host在 WSL2 下是一个“看起来能跑,实际上必失败”的组合
redis·docker
疯子的梦想@6 小时前
记录一次docker+k3s+防火墙规则冲突,导致服务无法正常启动的现象。
docker·容器·eureka
深圳市友昊天创科技有限公司6 小时前
友昊天创推出8K ,4K 120Hz 100米延长器方案
音视频·实时音视频·视频编解码
视频技术分享7 小时前
国产化视频会议安全加密技术行业应用案例集
音视频·实时音视频
小雨青年8 小时前
环境准备 Windows Mac 下 Docker Desktop 的安装与镜像源加速
windows·macos·docker
倒流时光三十年9 小时前
阿里云 CentOS 7 使用 docker 安装 Nginx
nginx·阿里云·docker·centos
德育处主任Pro9 小时前
『NAS』在绿联部署一个像素风宝可梦同人游戏-pokerogue
游戏·docker·群晖·nas·绿联