群晖威联通飞牛等nas如何把宿主机硬盘挂接到可道云docker容器中
可道云系统是用户常用的一款面向个人用户的轻量级私有云存储工具,以高效管理和安全存储为核心,打造便捷的数字化办公体验。但是用户希望把原有其他磁盘中文件挂接到这个新系统中有很大的难度,主要是对linux文件系统理解有很大的误区,认为目录结构是固定的,安装好的docker容器因为不能添加新的磁盘挂接,就以为没有办法处理了。
其实linux相比于windows的文件系统,是很灵活的,只要在现在docker容器挂接在宿主机的目录中创建一个新的子目录,重新把它和现有宿主机的其他磁盘用mount命令进行连接,就可以解决上面的问题.
原理说明
Linux通过挂载点将磁盘或分区融入单一目录树,使用mount命令可将任意存储设备(如分区、网络存储)挂载到空目录(如/mnt/data),该目录成为访问存储的入口。关键特性:支持动态重挂载,例如将现有目录A挂载到目录B(mount --bind A B),使B直接映射A的内容,实现目录共享或覆盖,而无需修改原始路径。Windows则依赖盘符(C:、D:),每个分区独立存在,无法将目录直接挂载到另一目录,仅支持驱动器映射或虚拟符号链接,灵活性和层级整合性弱于Linux。
实现步骤
本文所有内容是基于豆豆容器市场中的可道云安装程序进行验证的,不保证其他的方式安装的docker系统能正常使用,有需求的请去豆豆容器市场进行一键安装。
网站: https://ds.sendtokindle.net.cn/
1.测试环境介绍
宿主机:群晖虚拟机
docker安装的可道云+onlyoffice安装服务收费版(见上面)
可道云容器内原始存储目录: /var/www/html/data/files
可道云容器内新的存储目录: /var/www/html/data/myhd (不要用命令创建,看后面的创建方法)
可道云容器内原始存储目录在宿主机的映射: /volume1/@
apphome/app/dockerstore/dockerstore_kodcloudstd/site/data/files
可道云容器内新的存储目录在宿主机的映射: /volume1/@
apphome/app/dockerstore/dockerstore_kodcloudstd/site/data/myhd
准备挂接外部存储目录: /volume2/mydsm2/abctest
2.通过可道云系统,创建可道云容器内新的存储目录
在存储管理中,在存储磁盘的存储目录的选择功能页面中,创建新的myhd存储目录
3.在ssh连接工具中执行挂接命令,方便把第二块磁盘目录挂接到上面创建的myhd目录
先执行 sudo -i 切换到root用户,
再执行mount挂接命令
sudo mount --bind /volume2/mydsm2/abctest /volume1/@apphome/app/dockerstore/dockerstore_kodcloudstd/site/data/myhd
4.修改可道云的存储目录的路径为myhd目录,记得要重新启动可道云docker容器,一定不要重启宿主机
5.检测可道云的docker容器挂接目录是否成功挂新的目录
分别对这两个目录执行ls,查看内容是否一致
/volume1/@apphome/app/dockerstore/dockerstore_kodcloudstd/site/data/myhd
/volume2/mydsm2/abctest
6.如果宿主机重启了,前面的mout命令会失效,记得要重新执行上面的mout命令进行挂接,才能正常使用可道云
7.现有硬盘数据在可道云中不可见,需要执行数据导入的功能才能看见
8.验证导入的文件是否正常显示