本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

新仓库地址: ghcr.io/servercontainers/samba
2023年3月,Docker通知将移除servercontainers和desktopcontainers组织,除非升级到专业计划。为避免恶意用户接管原组织名称并发布可能带有后门的容器,建议切换至新的GitHub仓库地址:ghcr.io/servercontainers。
基于Alpine Linux的Samba服务器容器,支持TimeMachine备份、zeroconf(Avahi)网络发现和WSD(Web Services for Devices,wsdd2)服务,适用于x86和ARM架构。主要用于搭建轻量级跨平台文件共享服务,支持Windows、macOS和Linux客户端,尤其适合家庭或小型办公环境。
docker run -d \ --name samba \ --net=host \ -v /path/to/shares:/shares \ -e ACCOUNT_user1=password123 \ -e SAMBA_VOLUME_CONFIG_myshare="path = /shares/myshare; valid users = user1; read only = no" \ -e MODEL=TimeCapsule \ --cap-add=CAP_NET_ADMIN \ ghcr.io/servercontainers/samba:latest
version: '3' services: samba: image: ghcr.io/servercontainers/samba:latest container_name: samba network_mode: host # 如需Avahi/wsdd2发现,建议使用host网络 volumes: - /path/to/shares:/shares # 共享文件存储路径 environment: # 用户配置(用户名:密码/哈希) - ACCOUNT_user1=password123 - ACCOUNT_admin=:0:1001:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:8846F7EAEE8FB117AD06BDD830B7586C:[U ]:LCT-5FE1F7DF: # 哈希示例 # 用户UID指定 - UID_user1=1000 # 组配置 - GROUP_devops=1500 # 用户附加组 - GROUPS_admin=devops # 全局配置 - SAMBA_GLOBAL_CONFIG_workgroup=MYGROUP - SAMBA_GLOBAL_CONFIG_server_string=My Samba Server - SAMBA_GLOBAL_STANZA=log level = 2; max log size = 50 # 多行全局配置,用;分隔 # 共享卷配置(TimeMachine示例) - SAMBA_VOLUME_CONFIG_timemachine="path = /shares/timemachine/%U; valid users = %U; fruit:time machine = yes; fruit:time machine max size = 500G" # Avahi配置 - MODEL=MacPro7,1 - AVAHI_NAME=MySambaServer cap_add: - CAP_NET_ADMIN # wsdd2需要此权限 restart: unless-stopped
| 变量名 | 说明 | 可选性 | 默认值 | 示例值 |
|---|---|---|---|---|
| SAMBA_GLOBAL_STANZA | 多行全局配置,用;分隔(自动转为\n) | 可选 | 未设置 | log level = 2; max log size = 50 |
| SAMBA_GLOBAL_CONFIG_<唯一标识> | 单个全局配置项,键含空格用_SPACE_替换,含冒号用_COLON_替换 | 可选 | 未设置 | SAMBA_GLOBAL_CONFIG_mykey=workgroup = MYGROUP |
| SAMBA_CONF_SERVER_ROLE | Samba服务器角色 | 可选 | standalone server | member server |
| SAMBA_CONF_LOG_LEVEL | 日志级别 | 可选 | 1 | 3 |
| SAMBA_CONF_WORKGROUP | 工作组名称 | 可选 | WORKGROUP | MYGROUP |
| SAMBA_CONF_SERVER_STRING | 服务器描述信息 | 可选 | Samba Server | "Office File Server" |
| SAMBA_CONF_MAP_TO_GUEST | 匿名用户映射策略 | 可选 | Bad User | Never |
| 变量名 | 说明 | 可选性 | 默认值 | 示例值 |
|---|---|---|---|---|
| ACCOUNT_<用户名> | 创建用户,值为明文密码(不可以:<用户名>:[0-9]*:开头)或Samba哈希 | 必选 | 未设置 | ACCOUNT_user1=password123 |
| UID_<用户名> | 指定用户UID,需与ACCOUNT_<用户名>对应 | 可选 | 自动分配 | UID_user1=1000 |
| GROUP_<组名> | 创建组,值为GID | 可选 | 未设置 | GROUP_devops=1500 |
| GROUPS_<用户名> | 为用户添加附加组,用,分隔,需与GROUP_<组名>对应 | 可选 | 未设置 | GROUPS_user1=devops,users |
| 变量名 | 说明 | 可选性 | 默认值 | 示例值 |
|---|---|---|---|---|
| MODEL | Avahi服务设备型号 | 可选 | TimeCapsule | MacPro7,1 |
| AVAHI_NAME | Avahi服务名称 | 可选 | 容器 hostname | MySambaServer |
| AVAHI_DISABLE | 禁用Avahi服务(设任意值即禁用) | 可选 | 未设置 | 1 |
| 变量名 | 说明 | 可选性 | 默认值 | 示例值 |
|---|---|---|---|---|
| WSDD2_DISABLE | 禁用wsdd2服务(设任意值即禁用) | 可选 | 未设置 | 1 |
| WSDD2_PARAMETERS | wsdd2启动参数 | 可选 | 未设置 | -l |
| 变量名 | 说明 | 可选性 | 默认值 | 示例值 |
|---|---|---|---|---|
| SAMBA_VOLUME_CONFIG_<唯一标识> | 共享卷配置,多行用;分隔;路径以%U结尾时启用多用户隔离(如TimeMachine) | 可选 | 未设置 | path = /shares/timemachine/%U; fruit:time machine = yes; valid users = %U |
| 挂载路径 | 说明 | 必要性 |
|---|---|---|
| /shares | 共享文件存储目录,需提前创建并授权 | 建议 |
| /external/avahi | 外部Avahi服务目录(覆盖容器内置配置) | 可选 |
| 镜像标签格式 | 说明 |
|---|---|
| latest a<alpine版本>-s<samba版本> | 完整版本:含smbd、Avahi、wsdd2,可通过环境变量禁用可选服务(如AVAHI_DISABLE) |
| smbd-only-latest smbd-only-a<...>-s<...> | 仅含smbd和基础脚本,无Avahi/wsdd2 |
| smbd-avahi-latest smbd-avahi-a<...>-s<...> | 含smbd、Avahi和脚本,无wsdd2 |
| smbd-wsdd2-latest smbd-wsdd2-a<...>-s<...> | 含smbd、wsdd2和脚本,无Avahi |
标签中a<alpine版本>-s<samba版本>格式(如a3.15.0-s4.15.2)可用于固定版本,便于回滚或版本控制。
build.sh脚本构建x86_64/arm64/arm镜像,指定DOCKER_REGISTRY环境变量可自定义仓库./build.sh release生成latest标签generate-variants.sh生成自定义变体配置并手动构建所有镜像标签格式为a<alpine版本>-s<samba版本>,如a3.15.0-s4.15.2,便于追溯基础镜像和Samba版本。
%U结尾(如/shares/timemachine/%U)时,每个用户将获得独立子目录--net=host网络模式或正确端口映射(UDP 5353)以确保macOS发现fruit:time machine max size = 500G限制单用户TimeMachine容量CAP_NET_ADMIN权限(--cap-add=CAP_NET_ADMIN)host网络模式下,通过hostname参数指定容器主机名(避免随机生成的名称影响发现)server role%U)免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429