93 lines
1.9 KiB
Markdown
93 lines
1.9 KiB
Markdown
# 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 <镜像名>
|
||
``` |