Files
container/NAS-To-Linux-Docker.md
2026-07-29 14:17:26 +08:00

102 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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. 安装相关工具
Debian/Ubuntu
```bash
sudo apt update && sudo apt install nfs-common -y
```
CentOS/RHEL
```bash
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 客户端工具
Debian/Ubuntu
```bash
sudo apt update && sudo apt install cifs-utils -y
```
CentOS/RHEL
```bash
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 <镜像名>
```