将宿主机的硬盘挂接到可道云(Docker容器中的Nas4Free、群晖、威联通飞牛等)中,可以通过以下步骤实现:
### 1. 准备工作
- "确认可道云的版本":确保你的可道云版本支持宿主机硬盘的挂载。
- "确定宿主机硬盘的路径":在宿主机上找到你想挂载的硬盘路径。
### 2. 配置宿主机
1. "挂载硬盘":在宿主机上挂载你的硬盘。
```bash
sudo mount /dev/sdb1 /mnt/data
```
其中 `/dev/sdb1` 是你的硬盘分区,`/mnt/data` 是挂载点。
2. "设置自动挂载":编辑 `/etc/fstab` 文件,添加硬盘的自动挂载配置。
```bash
sudo nano /etc/fstab
```
添加以下行:
```
/dev/sdb1 /mnt/data ext4 defaults 0 0
```
3. "创建挂载点":如果你的容器没有对应的挂载点,需要在宿主机上创建一个。
```bash
sudo mkdir -p /var/lib/docker/volumes/myhostvolume/_data
```
### 3. 配置Docker容器
1. "编辑Dockerfile":在你的Docker
相关内容:
原理说明
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.验证导入的文件是否正常显示
