
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像基于Alpine Linux构建,集成Samba 4实现网络文件共享功能。作为替代Netatalk(AFP)的解决方案,适用于自建ZFS NAS服务器,支持OSX、Linux和Windows多平台客户端连接。Apple已逐步转向SMB2/3协议,本镜像提供现代、安全的文件共享服务。
创建smb.conf配置文件,以下为基础示例:
[global] workgroup = WORKGROUP server string = %h server (Samba, Alpine) security = user map to guest = Bad User encrypt passwords = yes load printers = no printing = bsd printcap name = /dev/null disable spoolss = yes disable netbios = yes server role = standalone server services = -dns, -nbt smb ports = 445 ;name resolve order = hosts ;log level = 3 [Dozer] path = /dozer comment = ZFS browseable = yes writable = yes valid users = carol [Shared] path = /share comment = Shared Folder browseable = yes read only = yes write list = carol guest ok = yes
安全增强配置
在[global]部分添加以下配置可限制访问来源(尤其使用--net=host时):
hosts allow = 192.168.11.0/24 10.0.0.0/24 hosts deny = 0.0.0.0/0 interfaces = 192.168.11.0/24 10.0.0.0/24 bind interfaces only = yes
高级特性配置
添加到[global]部分以优化客户端体验和ZFS兼容性:
create mask = 0664 directory mask = 0775 veto files = /.DS_Store/ nt acl support = no inherit acls = yes ea support = yes vfs objects = catia fruit streams_xattr recycle acl_xattr:ignore system acls = yes recycle:repository = .recycle recycle:keeptree = yes recycle:versions = yes
根据smb.conf定义的共享路径调整卷挂载,执行启动命令:
bashdocker run -dt \ -v $PWD/smb.conf:/etc/samba/smb.conf \ -v $PWD/dozer:/dozer \ -v $PWD/share:/share \ -p 445:445 \ --name samba \ --restart=always \ stanback/alpine-samba
参数说明:
-v:挂载配置文件和共享目录(需与smb.conf中的路径对应)-p 445:445:映射SMB服务端口(或使用--net=host直接使用主机网络)--restart=always:配置容器自动重启容器运行后,通过以下命令添加Samba用户:
bash# 创建系统用户(无登录权限) docker exec -it samba adduser -s /sbin/nologin -h /home/samba -H -D carol # 设置Samba密码 docker exec -it samba smbpasswd -a carol
查看服务日志(可在smb.conf中调整log level):
bashdocker logs -f --tail=100 samba
检查Samba连接状态:
bashdocker exec -it samba smbstatus
通过Avahi实现Linux和OSX客户端的自动发现功能(Windows需手动连接IP/主机名)。
配置Avahi服务
创建services/目录并添加smb.services文件:
xml<?xml version="1.0" standalone='no'?> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h</name> <service> <type>_smb._tcp</type> <port>445</port> </service> <service> <type>_device-info._tcp</type> <port>0</port> <txt-record>model=RackMac</txt-record> </service> </service-group>
运行Avahi容器
bashdocker run -d \ -v $PWD/services:/etc/avahi/services \ --net=host \ --name=avahi \ --restart=always \ stanback/alpine-avahi
注意:推荐使用
--net=host确保服务发现功能正常,端口映射方式可能存在兼容性问题。
OSX优化
禁用网络共享中的.DS_Store文件:
bashdefaults write com.apple.desktopservices DSDontWriteNetworkStores true
禁用NetBIOS服务(谨慎操作):
bashsudo launchctl disable system/netbiosd
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务