1.9 KiB
1.9 KiB
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 的用户运行。
- 安装相关工具
Debian/Ubuntu:
sudo apt update && sudo apt install nfs-common -y
CentOS/RHEL:
sudo yum install nfs-utils
- 创建挂载点
sudo mkdir -p /mnt/nas/vol1/workspace
- 执行挂载
sudo mount -t nfs -o uid=1000,gid=1000 192.168.1.100:/vol1/workspace /mnt/nas/vol1/workspace
- 设置开机自动挂载(可选)
sudo nano vi /etc/fstab
在文件末尾追加一行:
192.168.1.100:/vol1/workspace /mnt/nas/vol1/workspace nfs defaults,_netdev 0 0
- 挂载到 Docker 容器
docker run -v /mnt/nas/vol1/workspace:/workspace --user 1000:1000 <镜像名>
方案二、基于 SMB 协议
- 安装 CIFS 客户端工具
Debian/Ubuntu:
sudo apt update && sudo apt install cifs-utils -y
CentOS/RHEL:
sudo yum install cifs-utils -y
- 创建挂载点
sudo mkdir -p /mnt/nas/vol1/workspace
- 执行挂载
sudo mount -t cifs //192.168.1.100/vol1/workspace /mnt/nas/vol1/workspace -o username=admin,password=123456
- 设置开机自动挂载(可选)
sudo nano vi /etc/fstab
在文件末尾追加一行:
//192.168.1.100/vol1/workspace /mnt/nas/vol1/workspace cifs username=admin,password=123456,iocharset=utf8 0 0
- 挂载到 Docker 容器
docker run -v /mnt/nas/vol1/workspace:/workspace <镜像名>