挂载smb(cifs)、nfs共享目录
命令行操作
挂载smb共享目录
- 安装smb工具
sudo apt install cifs-utils -y
- 创建挂载点,用于挂载smb共享目录
mkdir -p /path/to/smb_dir/
- 创建凭证文件
sudo nano /path/to/.examplecredentials
Docker配置
挂载smb/cifs
,nfs
主要用于将数据持久化存储于共享目录(比如:nas
),用于数据同步、共享,同时可以借由nas生态来实现数据备份,提升数据安全
可以在docker compose file
中进行如下设置:
---
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- smb_dir:/config
- nfs_dir:/books
ports:
- 8083:8083
restart: unless-stopped
smb_dir:
driver: local
driver_opts:
type: cifs
device: //your smb server ip
# 配置共享目录权限,需要与容器权限保持一致:uid=1000,gid=1000,dir_mode=0755,file_mode=0755
# smb版本:vers=1.0
# 设置使用缓存:cache=strict
# 设置使用编码:iocharset=utf8
# 不向服务器发送对 byte range lock 的请求,已知容器中sqlite数据库必须添加该选项:nobrl
o: "addr=nas-ds120j,username=yourUsername,password=yourPassword,uid=1000,gid=1000,dir_mode=0755,file_mode=0755,vers=1.0,cache=strict,iocharset=utf8,nobrl"
nfs_dir:
driver: local
driver_opts:
type: nfs
device: :/path/to/nfs/path
o: "addr=nfs_ip,rw,noatime,rsize=8192,wsize=8192,tcp,timeo=14,nfsvers=4"
注意⚠️
lxc容器无法进行挂载
参考资料
Cause 3: Using a Network File System
unix - SqLite3 NFS 挂载问题与锁定 - 我可以使用类似 CIFS nobrl 的东西吗?