当前位置: 首页 > article >正文

这个操作惊呆我了!海康存储 R1竟然可以这样部署Portainer

这个操作惊呆我了!海康存储 R1竟然可以这样部署Portainer

哈喽小伙伴们好,我是Stark-C~

最近到手了海康存储(HIKVISION)私有云R1 ,该机的卖点还是很多的,比如优秀的做工,强大的配置,以及炫酷的颜值,更牛批的是,它对底层BIOS没有任何限制,到手后还能各种折腾,可玩性极高!

不过话说回来,海康存储 R1毕竟也是一台成品NAS,也有自己的NAS系统,只不过可能因为目前偏向于个人和家庭用户,功能性不是很强,系统权限也是有所限制。就比如说Docker,虽说它有自己的Docker可视化操作前端,但它没有给到全开放的SSH终端操作权限,所以对于很多特定权限的Docker容器,以及docker compose堆栈也不能直接支持。

但是,我们可以在海康存储 R1上部署Portainer,这样我们直接就能通过docker compose堆栈的方式获取Docker容器的所有权限操作,并且Portainer本身就是一款非常优秀的可视化Docker容器管理工具,装上之后可以让海康存储 R1的docket功能直接起飞,也算是必装套件之一了。

这里需要说明一下:本文的灵感来自于本站@可爱的小cherry大佬发过的一篇文章,再此对大佬表示深深的膜拜与感谢~!

Portainer部署

🔺开始之前我们先在文件管理器(我的空间)中的Docker目录下新建一个portainer的文件夹,然后在该文件夹下在建一个“data”的子文件夹用于相关配置文件的持久化存储(也便于以后Docker容器迁移)。

🔺然后打开海康存储 R1自己的Docker管理器,分别点击“镜像管理--添加--官方库添加”。

🔺镜像名称输入“6053537/portainer-ce”并回车,选择第一个直接下载就可以了。为什么没有选择官方Portainer,因为这个是国内某大佬根据官方二次编译并汉化的,非常好用。

🔺如果网络没什么问题,这里会有一个下载进度。

🔺下载完成后点击镜像下面的“创建容器”。

🔺【容器名称】随意吧,不过建议命名为容器的名称“portainer”便于后期识别。

🔺【存储空间】添加我们前面在Docker目录下,portainer文件夹下的“data”子文件。

🔺装置路径设置为“/data”,类型改为读写。

🔺【端口设置】这里“容器端口”设置为9000,本地端口设置为不冲突的任意端口即可,“端口类型”选择TCP。

🔺然后重点来了,海康存储 R1的Docker管理器不是不能直接访问宿主机的 Docker 环境(/var/run/docker.sock)嘛,但是它可以在【环境】中将docker cli指令转换为环境变量来使用。而这,就是@可爱的小cherry大佬分享的海康SAO操作,说实话着实惊呆我了~~

所以,根据这个思路,我们部署Portainer直接在【环境】中加入以下变量即可:

# 映射docker.sock

--volume=/var/run/docker.sock:/var/run/docker.sock

# 重启策略

--restart=always

最后就没啥可设置的了,点“完成”按钮就搞定了Portainer的部署工作。

🔺完成之后点击“容器管理”,选择部署好的“portainer--详情”。

🔺选择【端口设置】,点击访问地址,就能一键打开部署好的Docker容器项目了。

Portainer体验

🔺Portainer打开时没有任何问题的,首次使用需要创建用户,密码需要设置12位字符及以上。

🔺然后选择本地环境的开始使用。

🔺点击“local”。

🔺在容器中也可以看到我们部署好的Portainer正在运行中。

🔺接着我们直接点击Portainer容器进入详情页面,在“存储卷”中,我们可以通过“主机存储卷”看到我们当前容器映射设备的真实路径。可以看到我这里的真实路径其实是“/drives/nvme_e1/Users/admin/Docker/portainer/data”,也就是说,在我的这台机器中,它的Docker目录真实路径为“/drives/nvme_e1/Users/admin/Docker”,而根目录为“/drives/nvme_e1/Users/admin”。

知道了这个我们就可以使用Portainer随意部署容器了,这里以目前非常火的一个简约博客项目『VanBlog』为大家演示。

它因为依赖数据库,所以使用docker compose部署更为方便。它的docker compose.yml代码为:

version: "3"
​
services:
  vanblog:
    image: mereith/van-blog:latest
    restart: always
    environment:
      TZ: "Asia/Shanghai"
      EMAIL: "someone@mereith.com"     # 邮箱地址,用于自动申请 https 证书
    volumes:
      - /volume1/docker/van-blog/static:/app/static    # 图床文件的存放地址
      - /volume1/docker/van-blog/log:/var/log    # 日志文件
      - /volume1/docker/van-blog/config:/root/.config/caddy    # Caddy 配置存储
      - /volume1/docker/van-blog/data:/root/.local/share/caddy     # Caddy 证书存储
    ports:
      - 80:80     # 端口映射,冒号前面不要本地冲突
  mongo:
    image: mongo:4.4.9      # 指定MongoDB数据库镜像版本,某些机器不支持 avx 会报错,所以默认用 v4 版本。
    restart: always
    environment:
      TZ: "Asia/Shanghai"
    volumes:
      - /volume1/docker/van-blog/mongo:/data/db      # MongoDB数据库的存放地址

而我们需要更改的基本就是它的映射路径与端口。所以按照我这边的情况,它实际的部署代码可以是这样的:

version: "3"
​
services:
  vanblog:
    image: mereith/van-blog:latest
    restart: always
    environment:
      TZ: "Asia/Shanghai"
      EMAIL: "someone@mereith.com"     # 邮箱地址,用于自动申请 https 证书
    volumes:
      - /drives/nvme_e1/Users/admin/Docker/van-blog/static:/app/static    # 图床文件的存放地址
      - /drives/nvme_e1/Users/admin/Docker/van-blog/log:/var/log    # 日志文件
      - /drives/nvme_e1/Users/admin/Docker/van-blog/config:/root/.config/caddy    # Caddy 配置存储
      - /drives/nvme_e1/Users/admin/Docker/van-blog/data:/root/.local/share/caddy     # Caddy 证书存储
    ports:
      - 8001:80     # 端口映射,冒号前面不要本地冲突
  mongo:
    image: mongo:4.4.9      # 指定MongoDB数据库镜像版本,某些机器不支持 avx 会报错,所以默认用 v4 版本。
    restart: always
    environment:
      TZ: "Asia/Shanghai"
    volumes:
      - /drives/nvme_e1/Users/admin/Docker/van-blog/mongo:/data/db      # MongoDB数据库的存放地址

知道对应的部署代码,我们就可以开始在海康存储 R1上部署了。

🔺首先在文件管理器(我的空间)中的Docker目录下新建一个“van-blogr”的文件夹,然后在该文件夹下建立static、log、config、data、mongo总共5个子文件夹。

🔺然后打开Portainer容器的“堆栈--添加堆栈”。

🔺“名称”随意,接着将我们修改之后的docker compose.yml代码复制粘贴到“Web编辑器”中的方框中。

🔺完成后点击页面下方的“部署堆栈”。

🔺很快就部署好了VanBlog项目需要的两个容器。

🔺回到海康存储 R1自己的Docker管理器中也可以看到两个容器也是正常运行中。

🔺详情中的“存储空间”映射的也没有问题。

🔺并且可以正常打开VanBlog容器。

最后

对于海康存储 R1来说,当我们部署好Portainer之后可以说Docker的可玩性时直接起飞,虽说我们不能和传统NAS一样直接通过SSH终端的docker cli命令部署容器,但是我们可以将任何docker cli命令都转换成docker compose来部署,相比docker cli命令的方式,docker compose堆栈部署还方便后期的维护与升级。

🔺海康存储(HIKVISION)私有云R1是一款四盘位高性能的家庭网络存储解决方案,最大支持96TB存储容量。它采用Intel四核处理器 N100,标配一个 DDR5内存插槽与双M.2 SSD设计,强大的性能足够个人及家庭用户的数据备份和文件共享需求。

I/O接口上也是非常丰富,包括3个USB 3.2 Gen2 10Gbps接口、1个 USB3.2 Gen2 Type-C接口及1个HDMI接口(4K 60fps),两个2.5G网口,适应多种扩展需求。

比较有意思的是,它的前面板刚还配备了1块2.86寸、60Hz触控屏,支持多种功能与主题设置,可实时显示温度、CPU占用、风扇、硬盘等状态信息,侧边还配备了透明侧板以及可调控炫彩RGB氛围灯,拥有极高的可玩性。

好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~


http://www.kler.cn/a/377642.html

相关文章:

  • Template Method(模板方法)
  • 浅谈QT中Tab键的切换逻辑
  • 安全性测试
  • andrular输入框input监听值传递
  • 云原生+AI核心技术&最佳实践
  • 如何让网页中的图片不可下载,让文字不可选中/复制
  • 18.农产品销售系统(基于springboot和vue的Java项目)
  • 优选算法第四讲:前缀和模块
  • 对比C/C++语言,Rust语言有什么优势?
  • 关于爬虫需要了解的基础知识 (一、 http协议)
  • OceanBase数据库的使用(兼容MySQL)
  • SpringBoot篇(简化操作的原理)
  • 【数据结构】树-二叉树-堆(下)
  • 本地部署bert-base-chinese模型交互式问答,gradio
  • IDEA设置语法高亮自动检查xml中sql语法
  • Android13开发恢复出厂设置默认打开WiFi
  • 基于SSM+微信小程序的订餐管理系统(点餐2)
  • [算法初阶]第二集 滑动窗口
  • Google“Big Sleep“人工智能项目发现真实软件漏洞
  • 【算法赌场】区间合并
  • 传递悄悄话
  • java8有哪些新特性
  • 盘点谷歌全家桶中最值得付费的服务
  • 基于STL的自定义栈与队列实现:灵活选择底层容器的模板设计
  • 长度最小的子数组(滑动窗口)
  • cangjie仓颉程序设计-数据结构(四)