# Intro 本文介绍如何把 NAS 主机目录挂载到 Linux 主机,并通过 Volume 挂载到 Docker 容器,借助 NAS 的阵列盘实现高可靠数据存储。 - NAS:"/vol1/workspace" - Linux:"/mnt/nas/vol1/workspace" - Docker:"/workspace" 假设 NAS 的用户名密码是"admin/123456",IP为"192.168.1.100",目录映射目标:"/vol1/workspace" -> "/mnt/nas/vol1/workspace" -> "/workspace"。 ## 方案一、基于 NFS 协议(推荐) 假设 NAS、Linux、Docker 都用 UID=1000 的用户运行。 1. 安装相关工具: ```bash # Debian/Ubuntu sudo apt update && sudo apt install nfs-common -y # CentOS/RHEL sudo yum install nfs-utils ``` 2. 创建挂载点 ```bash sudo mkdir -p /mnt/nas/vol1/workspace ``` 3. 执行挂载 ```bash sudo mount -t nfs -o uid=1000,gid=1000 192.168.1.100:/vol1/workspace /mnt/nas/vol1/workspace ``` 4. 设置开机自动挂载(可选) ```bash sudo nano vi /etc/fstab ``` 在文件末尾追加一行: ```text 192.168.1.100:/vol1/workspace /mnt/nas/vol1/workspace nfs defaults,_netdev 0 0 ``` 5. 挂载到 Docker 容器 ```bash docker run -v /mnt/nas/vol1/workspace:/workspace <镜像名> ``` ## 方案二、基于 SMB 协议 1. 安装 CIFS 客户端工具 ```bash # Debian/Ubuntu sudo apt update && sudo apt install cifs-utils -y # CentOS/RHEL sudo yum install cifs-utils -y ``` 2. 创建挂载点 ```bash sudo mkdir -p /mnt/nas/vol1/workspace ``` 3. 执行挂载 ```bash sudo mount -t cifs //192.168.1.100/vol1/workspace /mnt/nas/vol1/workspace -o username=admin,password=123456 ``` 4. 设置开机自动挂载(可选) ```bash sudo nano vi /etc/fstab ``` 在文件末尾追加一行: ```text //192.168.1.100/vol1/workspace /mnt/nas/vol1/workspace cifs username=admin,password=123456,iocharset=utf8 0 0 ``` 5. 挂载到 Docker 容器 ```bash docker run -v /mnt/nas/vol1/workspace:/workspace <镜像名> ```