Samba
# 步骤
docker run -d --name samba \
-v 宿主机路径1:容器内挂载路径1 \
-v 宿主机路径2:容器内挂载路径2 \
-p 445:445 \
-p 137:137 \
-p 138:138 \
-p 139:139 \
dperson/samba \
-u "账号1;密码1" \
-u "账号2;密码2" \
-s "文件夹名称1;容器内挂载路径1;yes;no;no;账号1" \
-s "文件夹名称2;容器内挂载路径2;yes;no;no;账号2" \
-s
:文件夹名称1
:为客户端访问时,根目录下的文件夹名称,打开及为容器内挂载路径1
yes;no;no
:可浏览;只读;匿名访问账号1
:允许访问的账号
文档:dperson/samba - Docker Image | Docker Hub (opens new window)
# 拆过的坑
# 权限不足
这个权限不足不是设置不当导致的,而是因为宿主机系统权限导致的。
现象
尝试将挂载的目录设为 777 权限,smb 客户端可以在映射目录下创建文件,在宿主机 ll
查看
-rw-rw-r-- 1 _apt systemd-journal 0 Jan 1 13:33 '新建 文本文档 (2).txt'
-rw-rw-r-- 1 _apt systemd-journal 0 Jan 1 13:37 '新建 文本文档 (3).txt'
可见创建的用户及用户组为 _apt systemd-journal
,因该用户没有文件夹的写权限,导致无法写操作。
解决
启动容器时参数:
-s "文件夹名称1;容器内挂载路径1;yes;no;no;账号1;admin" \
添加;admin
- 环境配置
USERID=0
、GROUPID=0
,(即 root)
参考:https://github.com/dperson/samba#troubleshooting
# Windows 连接时报错
现象
提示: 不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次。
,常出现在输错密码后尝试再次输入时。
解决
终端执行,中断开所有连接
net use * /del /y
上次更新: 2024/03/11, 22:37:05