
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本仓库是https://github.com/dperson/samba项目的分支,由于原项目已长期停止更新,此版本包含适用于当前Alpine版本的最新Samba。Samba自1992年起,为所有使用SMB/CIFS协议的客户端(如DOS、Windows、OS/2、Linux等)提供安全、稳定且快速的文件和打印服务。
镜像标签对应容器中Samba的版本。如需特定版本,可使用相应标签。latest标签始终指向最新稳定版,develop标签指向开发版。当前Samba版本取决于Alpine镜像中可安装的版本,若Samba有新版本但未在此镜像中更新,通常是因为Alpine尚未更新该版本。
适用于需要在局域网内实现跨平台文件共享的场景,如家庭网络文件共享、企业内部文件服务、开发环境资源共享等。
默认无共享配置,需额外添加。
基础部署:
bashsudo docker run -it -p 139:139 -p 445:445 -d upagge/samba -p
挂载本地存储:
bashsudo docker run -it --name samba -p 139:139 -p 445:445 \ -v /path/to/directory:/mount \ -d upagge/samba -p
查看帮助:
bashsudo docker run -it --rm upagge/samba -h
命令行选项([]为可选,<>为必填):
-h:显示帮助信息-c "<from:to>":设置文件/目录名的字符映射,必填参数为用逗号分隔的"from:to"映射对-G "<section;parameter>":为smb.conf提供通用节选项,必填参数:"-g "<parameter>":为smb.conf提供全局选项,必填参数:"-i "<path>":导入smbpassword文件,必填参数:容器内的完整文件路径-n:启动nmbd守护进程以广播共享-p:设置共享的所有权和权限-r:禁用共享的回收站功能-S:禁用SMB2最低版本-s "<name;/path>[;browse;readonly;guest;users;admins;writelist;comment]":配置共享
-u "<username;password>[;ID;group;GID]":添加用户
-w "<workgroup>":配置工作组(域),必填参数:"-W:允许访问宽符号链接-I "<include file path>":在smb.conf末尾添加include选项,必填参数:容器内的包含文件路径(如绑定挂载的文件)CHARMAP:同-c,配置字符映射GENERIC:同-G,配置通用节选项(见注3)GLOBAL:同-g,配置全局选项(见注3)IMPORT:同-i,导入smbpassword文件NMBD:同-n,启用nmbdPERMISSIONS:同-p,设置所有共享的文件权限RECYCLE:同-r,禁用回收站SHARE:同-s,配置共享(见注3)SMB:同-S,禁用SMB2最低版本TZ:设置时区,如EST5EDTUSER:同-u,添加用户(见注3)WIDELINKS:同-W,允许访问宽符号链接WORKGROUP:同-w,设置工作组USERID:设置Samba默认用户(smbuser)的UIDGROUPID:设置Samba默认用户(smbuser)的GIDINCLUDE:同-I,添加smb.conf包含文件注:若启用nmbd(通过-n或NMBD环境变量),需暴露137和138端口:-p 137:137/udp -p 138:138/udp。
注2:有报告称-n和NMBD仅在容器使用主机网络栈时有效。
注3:支持以相同名称开头的附加变量,如SHARE可扩展为SHARE2、SHARE3...SHAREx等。
以下命令可在创建容器时通过docker run执行,或之后通过docker exec -it samba samba.sh(Docker 1.3及以上版本)执行。
设置时区
bashsudo docker run -it -e TZ=EST5EDT -p 139:139 -p 445:445 -d upagge/samba -p
创建用户和共享
bashsudo docker run -it -p 139:139 -p 445:445 -d upagge/samba -p \ -u "example1;badpass" \ -u "example2;badpass" \ -s "public;/share" \ -s "users;/srv;no;no;no;example1,example2" \ -s "example1 private share;/example1;no;no;no;example1" \ -s "example2 private share;/example2;no;no;no;example2"
在容器选项末尾添加-p,或设置PERMISSIONS环境变量:
bashsudo docker run -it --name samba -p 139:139 -p 445:445 \ -v /path/to/directory:/mount \ -d upagge/samba -p
若无法更改文件权限,可将USERID和GROUPID环境变量设置为文件所有者的UID和GID。
在docker run命令中添加-m 512m选项,或在docker_compose.yml中设置mem_limit::
bashsudo docker run -it --name samba -m 512m -p 139:139 -p 445:445 \ -v /path/to/directory:/mount \ -d upagge/samba -p
smbclient命令行工具连接Samba默认尝试使用已弃用且有安全问题的SMB1,本容器默认使用SMB2,需指定SMB3版本:
bashsmbclient -m SMB3 [其他选项]
如遇问题或有疑问,请通过https://github.com/upagge/samba/issues联系。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 upagge/samba 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: