
viniciusleterio/sambaSimple Samba 是一个轻量级 Docker 镜像,基于 Samba 服务实现 SMB/CIFS 协议的文件共享功能。该镜像旨在简化文件共享服务的部署流程,提供基础的用户认证、权限控制和跨平台访问能力,适用于快速搭建轻量级文件共享环境。
| 环境变量名 | 作用描述 | 默认值 | 是否必填 |
|---|---|---|---|
SAMBA_USER | 访问共享的用户名 | - | 是 |
SAMBA_PASSWORD | 访问共享的用户密码 | - | 是 |
SHARE_NAME | 共享目录名称(客户端可见) | share | 否 |
SHARE_PATH | 容器内共享目录路径 | /shared | 否 |
READ_ONLY | 是否只读模式(yes/no) | no | 否 |
WORKGROUP | Windows 工作组名称 | WORKGROUP | 否 |
USER_ID | 容器内用户 UID(用于权限匹配) | 1000 | 否 |
GROUP_ID | 容器内用户 GID(用于权限匹配) | 1000 | 否 |
如需复杂配置(如多共享目录、***访问、权限细分等),可通过挂载自定义 smb.conf 文件覆盖默认配置:
./smb.conf)-v ./smb.conf:/etc/samba/smb.conf 挂载配置文件bashdocker run -d \ --name samba-share \ -p 139:139 \ -p 445:445 \ -v /宿主机/共享目录:/shared \ # 宿主机目录挂载(需替换为实际路径) -e SAMBA_USER=myuser \ # 自定义用户名 -e SAMBA_PASSWORD=mypassword \ # 自定义密码 -e SHARE_NAME=myshare \ # 共享名称(客户端可见) -e READ_ONLY=no \ # 读写模式 simple-samba
bashdocker run -d \ --name samba-readonly \ -p 139:139 \ -p 445:445 \ -v /宿主机/只读目录:/data \ -e SAMBA_USER=readonly \ -e SAMBA_PASSWORD=readonly123 \ -e SHARE_NAME=readonly-share \ -e SHARE_PATH=/data \ # 指定容器内共享路径(需与挂载路径一致) -e READ_ONLY=yes \ # 只读模式 simple-samba
创建 docker-compose.yml 文件:
yamlversion: '3.8' services: samba: image: simple-samba container_name: samba-service restart: unless-stopped ports: - "139:139" - "445:445" volumes: - /宿主机/共享目录:/shared # 宿主机目录挂载 environment: - SAMBA_USER=officeuser - SAMBA_PASSWORD=Secure@2024 - SHARE_NAME=office-share - READ_ONLY=no - WORKGROUP=OFFICE # 自定义工作组名称 networks: - samba-net networks: samba-net: driver: bridge
启动服务:
bashdocker-compose up -d
如需配置多共享目录或高级权限,可挂载本地 smb.conf 文件:
smb.conf(示例配置):ini[global] workgroup = MYGROUP server string = Simple Samba Server security = user map to guest = bad user [public-share] path = /public guest ok = yes read only = yes [private-share] path = /private valid users = myuser read only = no
bashdocker run -d \ --name samba-custom \ -p 139:139 -p 445:445 \ -v /宿主机/public:/public \ -v /宿主机/private:/private \ -v /本地路径/smb.conf:/etc/samba/smb.conf \ # 挂载自定义配置 -e SAMBA_USER=myuser \ -e SAMBA_PASSWORD=mypass \ simple-samba
USER_ID 和 GROUP_ID 环境变量调整)docker logs samba-share 查看服务运行日志,排查连接问题服务启动后,可通过以下方式访问共享目录:
\\<宿主机IP>\<SHARE_NAME>,输入配置的用户名/密码smb://<宿主机IP>/<SHARE_NAME> 访问,或使用命令 smbclient //<宿主机IP>/<SHARE_NAME> -U <SAMBA_USER>





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务