本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

samba-dc Docker 镜像下载 - 轩辕镜像

samba-dc 镜像详细信息和使用指南

samba-dc 镜像标签列表和版本信息

samba-dc 镜像拉取命令和加速下载

samba-dc 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

samba-dc
instantlinux/samba-dc
自动构建

samba-dc 镜像详细信息

samba-dc 镜像标签列表

samba-dc 镜像使用说明

samba-dc 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

这是一个Samba域控制器Docker镜像,支持域的创建(provision)和加入(join),需配置静态IP和持久化卷,运行于host网络模式并具备CAP_SYS_ADMIN权限,适用于构建Active Directory环境,提供域管理、DNS服务及用户认证功能。
29 收藏0 次下载activeinstantlinux镜像

samba-dc 镜像详细说明

samba-dc 使用指南

samba-dc 配置说明

samba-dc 官方文档

samba-dc

镜像概述和主要用途

samba-dc是一个Samba域控制器Docker镜像,用于搭建Active Directory(AD)环境。它支持域的初始化创建(provision)和加入现有域(join),提供域管理、用户认证、DNS服务等核心功能。该镜像需配置静态IP和持久化DNS记录,运行于host网络模式并具备CAP_SYS_ADMIN权限,适用于企业内部网络的域环境构建。

核心功能和特性

  • 域操作支持:支持域初始化创建(provision)和加入现有域(join),可作为独立域控制器或辅助域控制器
  • 网络与权限:需运行于host网络模式,具备CAP_SYS_ADMIN权限,确保网络协议栈和系统资源访问
  • 持久化存储:需挂载/etc/samba/var/lib/samba作为持久化卷,保存域配置和数据
  • 灵活配置:支持通过环境变量设置常用参数,或通过/etc/samba/conf.d目录下的配置文件进行高级自定义
  • 多平台支持:兼容amd64、arm64、arm/v6、arm/v7等架构
  • DNS服务:集成DNS服务,支持DNS更新、转发器配置,满足域环境的名称解析需求

使用场景和适用范围

  • 企业内部Active Directory域环境搭建
  • 替代Windows Server域控制器,降低部署成本
  • 与Windows客户端(如Windows 7)和其他Samba域控制器集成
  • 需集中管理用户、权限和文件共享的网络环境

使用方法和配置说明

基本要求

  • 域控制器必须配置静态IP地址和持久化DNS记录
  • 容器需运行于network_mode:host模式,并添加cap_add:CAP_SYS_ADMIN权限
  • 必须指定NETBIOS_NAME或主机名作为NETBIOS名称
  • 需挂载/etc/samba/var/lib/samba作为持久化卷(首次运行时/var/lib/samba为空将触发DOMAIN_ACTION指定的操作)

环境变量配置

变量默认值描述
ADMIN_PASSWORD_SECRETsamba-admin-password管理员密码密钥名称(见下方"Secrets"部分)
ALLOW_DNS_UPDATESsecure启用DNS更新(取值:secure、nonsecure、no)
BIND_INTERFACES_ONLYyes是否仅绑定指定IP地址或接口
DNS_FORWARDER(none)smb.confdns forwarder配置值
DOMAIN_ACTIONprovision域操作类型(provision:创建域;join:加入域)
DOMAIN_LOGONSyes是否支持工作组登录
DOMAIN_MASTERnoWAN范围浏览列表整理(详见samba文档)
INTERFACESlo eth0IP地址或接口列表
LOG_LEVEL1日志详细程度(数值越高日志越详细)
MODELstandard进程模型(single:单进程;standard:标准;thread:线程)
NETBIOS_NAME(hostname -s)NETBIOS名称
REALMad.example.comAD DNS域(使用小写字母)
SERVER_STRINGSamba Domain Controller服务器标识字符串
TZUTC本地时区
WINBIND_USE_DEFAULT_DOMAINyes是否允许用户名不带域名前缀
WORKGROUPAD工作组(域前缀,文档较少)

Secrets配置

仅在首次运行(域创建或加入)时需要,请勿在其他时间保留域控制器管理员密钥。密钥为Docker Secret,包含初始Samba管理员密码(需足够复杂)。

密钥描述
samba-admin-password域管理员密码

Secrets可通过Kubernetes Secrets、文件(详见示例docker-compose.yml)或Swarm Secrets指定。

部署示例

Docker Run命令
bash
docker run -d \
  --name samba-dc \
  --network=host \
  --cap-add=CAP_SYS_ADMIN \
  -v /path/to/etc/samba:/etc/samba \
  -v /path/to/var/lib/samba:/var/lib/samba \
  -e REALM=ad.example.com \
  -e WORKGROUP=AD \
  -e NETBIOS_NAME=DC01 \
  -e DOMAIN_ACTION=provision \
  -e TZ=Asia/Shanghai \
  --secret samba-admin-password \
  instantlinux/samba-dc
Docker Compose配置(示例片段)
yaml
version: '3.8'
services:
  samba-dc:
    image: instantlinux/samba-dc
    network_mode: host
    cap_add:
      - CAP_SYS_ADMIN
    volumes:
      - /path/to/etc/samba:/etc/samba
      - /path/to/var/lib/samba:/var/lib/samba
    environment:
      - REALM=ad.example.com
      - WORKGROUP=AD
      - NETBIOS_NAME=DC01
      - DOMAIN_ACTION=provision
      - TZ=Asia/Shanghai
    secrets:
      - samba-admin-password
    restart: always

secrets:
  samba-admin-password:
    file: ./samba-admin-password.txt

状态说明

  • "join"命令已在Windows Server 2008 Active Directory和其他Samba4域控制器上测试通过
  • "provision"已在Windows 7客户端环境中作为Samba4域控制器测试通过
  • "BIND_INTERFACES_ONLY"选项当前可用
  • 多实例samba-dc复制功能存在困难(版本4.8.8及以上未解决,未来版本可能修复)

注意事项

DNS配置

首次创建域控制器后需手动添加DNS记录:

bash
export LDB_MODULES_PATH=/usr/lib/samba/ldb
ldbsearch -H /var/lib/samba/private/sam.ldb '(invocationid=*)' \
 --cross-ncs objectguid|grep -i -B 1 -A 1 <新DC主机名>
samba-tool dns add dc01 _msdcs.ether.ci.net <上述命令获取的GUID> \
 CNAME <新DC的FQDN> -UAdministrator

复制问题排查

  • 若与旧版本Samba存在LDAP SASL复制错误,在/etc/samba/conf.d/0global.conf中添加:
    ldap server require strong auth = no
    
  • 检查复制状态:samba-tool drs showrepl
  • 检查本地数据库:samba-tool dbchecksamba-tool drs kcc
  • 双向复制测试(替换<NC>drs showrepl输出中的命名上下文):
    bash
    samba-tool drs replicate dc1 dc2 dc=<foo>,dc=<suffix> --full-sync
    samba-tool drs replicate dc2 dc1 dc=<foo>,dc=<suffix> --full-sync
    

DNS记录管理

使用nslookuphost验证DC的FQDN DNS记录(应仅包含一个正确IP),添加/删除记录:

bash
samba-tool dns add <dc> <domain> <dc> A <ip> -Uadministrator
samba-tool dns delete <dc> <domain> <dc> A <ip> -Uadministrator

其他常见问题

  • 日志中出现"samba_dnsupdate tsig verify failure":在每个控制器上执行samba_dnsupdate --all-names --use-samba-tool
  • 域加入失败提示"LDAP error 10 LDAP_REFERRAL":清理所有域控制器上的 stale DNS记录:
    bash
    for DC in dc1 dc2 dc3; do
      samba-tool dns delete $DC _msdcs.<domain> <错误中的GUID> CNAME <主机> -Uadministrator
    done
    
  • 清理secondary DC复制状态:关闭secondary DC,清空/var/lib/samba/private卷,在primary DC执行:
    bash
    samba-tool domain demote --remove-other-dead-server=<badhost>
    samba-tool dbcheck --cross-ncs --fix
    
    然后重启secondary DC并设置DOMAIN_ACTION=join

贡献指南

如需改进此镜像,请参考CONTRIBUTING。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"