这个操作惊呆我了!海康存储 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,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~