You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何搭建含Active Directory/LDAP的Docker Windows测试容器?

嘿,这个需求我刚好在测试环境折腾过好几次,给你分享几个靠谱的实现方案,都是能在Windows Docker容器里跑AD或者LDAP服务器的实用路子:

方案1:用微软官方镜像搭建Active Directory容器

这是最正统的方案,适合需要完整AD功能的测试场景:

  • 首先确保你的Docker已经切换到Windows容器模式(右键托盘里的Docker图标,选“Switch to Windows containers”就行)
  • 先启动一个带特权的Windows Server Core容器(AD需要系统级权限,必须加--privileged):
    docker run -d --name ad-server --hostname AD-SERVER --privileged mcr.microsoft.com/windows/servercore:ltsc2019 powershell
    
  • 进入容器的PowerShell环境:
    docker exec -it ad-server powershell
    
  • 在容器里执行AD部署脚本,替换域名和管理员密码为你自己的:
    # 安装AD域服务组件
    Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
    # 部署森林(根域),跳过确认
    Install-ADDSForest -DomainName "test.local" -SafeModeAdministratorPassword (ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force) -InstallDNS -Force
    
  • 脚本执行完后容器会自动重启,等个1-2分钟再重新进入容器,AD服务就已经跑起来了,你可以用Active Directory Users and Computers工具管理用户、组这些资源。
方案2:第三方LDAP Windows容器(适合轻量需求)

如果你的产品只需要基础LDAP认证,不需要完整AD的复杂功能,可以考虑社区打包好的OpenLDAP Windows容器:

  • 去Docker Hub搜索openldap windows,找一个星数多、维护活跃的镜像(比如假设用someuser/openldap-win:latest)
  • 启动容器,通过环境变量配置域名和管理员密码:
    docker run -d --name ldap-server -p 389:389 --env LDAP_DOMAIN=test.local --env LDAP_ADMIN_PASSWORD=P@ssw0rd123! someuser/openldap-win:latest
    
  • 启动后直接用LDAP客户端(比如Windows自带的ldp.exe)连接测试,或者让你的产品容器直接访问这个LDAP服务。
关键注意事项
  • 必须用Windows容器模式:Linux容器没法跑Windows的AD或LDAP服务,这是硬要求
  • 特权模式不能少:AD容器必须加--privileged,否则会因为权限不足安装失败
  • 数据持久化:如果需要保留AD数据(比如测试用的用户、组),启动容器时挂载卷到这两个目录:
    docker run -d --name ad-server --hostname AD-SERVER --privileged -v ad-ntds:C:\Windows\NTDS -v ad-sysvol:C:\Windows\Sysvol mcr.microsoft.com/windows/servercore:ltsc2019 powershell
    
  • 容器网络互通:把你的产品容器和AD/LDAP容器放到同一个Docker网络里,这样可以用容器名(比如ad-server)作为主机名访问,不用依赖动态IP:
    # 创建专属网络
    docker network create ad-test-network
    # 启动AD容器时加入网络
    docker run -d --name ad-server --hostname AD-SERVER --privileged --network ad-test-network mcr.microsoft.com/windows/servercore:ltsc2019 powershell
    # 启动产品容器时也加入这个网络
    docker run -d --name your-product --network ad-test-network your-product-image:latest
    

这些方案我都在实际测试环境用过,基本能覆盖大部分产品的AD/LDAP集成测试需求,要是遇到具体问题可以再细化讨论!

内容的提问来源于stack exchange,提问作者Idan G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:20:56