用于构建多架构Samba镜像的Dockerfile,支持Linux与Windows文件共享,适配amd64、arm64等多种平台,是个人定制的Docker配置方案。
收藏数: 71
下载次数: 3905445
类型:

elswork/samba一个用于构建多平台(linux/amd64、linux/arm64、linux/ppc64le、linux/s390x、linux/386、linux/arm/v7、linux/arm/v6)镜像的Docker文件,包含Samba安装。Samba是Linux和Unix系统的标准Windows互操作性套件,本镜像为个人定制的多架构Docker配置方案。
注意!你应当仔细阅读每个工具的使用文档!
| 网站 | GitHub | Docker Hub |
|---|---|---|
| Deft.Work 个人博客 | Samba | Samba |
| Docker 拉取量 | Docker 星标数 | 镜像大小 | 赞助商 |
|---|---|---|---|
本镜像使用buildx构建,支持以下架构:
我使用它在Linux和Windows之间共享文件,但Samba还有许多其他功能。
注意:此配置方案高度适配我的个人需求,可能不符合你的使用场景。本地文件系统权限、容器权限和Samba权限的处理较为复杂,因此我采用了一种简化方案,将共享路径的所有者与Samba用户同步,这意味着需要承担一些限制和妥协。
容器将配置为Samba共享服务器,只需提供:
格式:-u uid:gid:username:usergroup:password
格式:-s name:path:rw:user1[,user2[,userN]]
name,暴露path目录的内容,权限为读写(rw)或只读(ro),授权用户为user1、user2、...、userN启动Samba文件共享服务。
shdocker run -d -p 139:139 -p 445:445 \ --hostname any-host-name \ # 可选,主机名 -e TZ=Europe/Madrid \ # 可选,时区 -v /any/path:/share/data \ # 将/any/path替换为系统中由实际用户拥有的路径 elswork/samba \ -u "1000:1000:alice:alice:put-any-password-here" \ # 至少第一个用户需与主机文件系统中的实际用户匹配(密码可不同) -u "1001:1001:bob:bob:secret" \ -u "1002:1002:guest:guest:guest" \ -s "Backup directory:/share/backups:rw:alice,bob" \ -s "Alice (private):/share/data/alice:rw:alice" \ -s "Documents (readonly):/share/data/documents:ro:guest,alice,bob"
我的实际使用命令:
shdocker run -d -p 139:139 -p 445:445 -e TZ=Europe/Madrid \ -v /home/pirate/docker/makefile:/share/folder elswork/samba \ -u "1000:1000:pirate:pirate:put-any-password-here" \ -s "SmbShare:/share/folder:rw:pirate"
若共享路径的所有者与启动容器的用户匹配,可使用:
shdocker run -d -p 139:139 -p 445:445 --hostname $HOSTNAME -e TZ=Europe/Madrid \ -v /home/pirate/docker/makefile:/share/folder elswork/samba \ -u "$(id -u):$(id -g):$(id -un):$(id -gn):put-any-password-here" \ -s "SmbShare:/share/folder:rw:$(id -un)"
在Windows中,通过文件浏览器访问\\主机IP\即可查看共享内容。
赞助我! 我们一起将项目做得更好。
其他支持方式:





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