PowerShell 是 Windows Server 容器化网络组件自动化部署的核心工具,需分层执行:先启用容器与 Hyper-V 功能并重启,再下载解压 Docker 引擎、注册服务并设为自启,接着拉取镜像运行带网络配置的容器(如 IIS),可选创建自定义 NAT 网络及集成 CNI 插件与防火墙策略,最后通过 docker version、inspect 和 ping 验证环境。
powershell 是 windows server 容器化网络组件自动化部署的核心工具,关键在于分层执行:先准备容器运行时环境,再配置网络策略与服务组件,最后验证连通性。整个过程无需图形界面,全部通过命令行完成,适合批量部署和 ci/cd 集成。
启用容器与底层隔离功能
Windows Server 容器依赖特定系统功能,必须提前启用:
- 运行
Install-WindowsFeature -Name containers启用容器基础支持 - 若需 Hyper-V 隔离(推荐用于生产环境),补充执行
Install-WindowsFeature -Name Microsoft-Hyper-V-All - 执行
Restart-Computer -Force确保功能生效;重启后可通过Get-Service vmms, docker检查 Hyper-V 和容器服务状态
安装并配置 Docker 引擎
Docker 是 Windows Server 上最常用的容器运行时,PowerShell 可完成全链路部署:
- 下载稳定版 Docker 引擎:
Invoke-WebRequest -Uri "https://download.docker.com/win/static/stable/x86_64/docker-26.1.4.zip" -OutFile docker.zip - 解压并注册服务:
Expand-Archive docker.zip -DestinationPath "$env:ProgramFiles\Docker"; cd "$env:ProgramFiles\Docker"; .\dockerd.exe --register-service - 设为开机自启并启动:
Set-Service docker -StartupType Automatic; Start-Service docker - 验证:
docker version --format '{{.Server.Version}}'应返回版本号,docker info | Select-String "Isolation"可确认隔离模式
部署容器化网络服务(如 Nginx、IIS 或反向代理)
网络组件通常以容器形式运行,PowerShell 可直接拉取镜像并启动带网络配置的实例:
- 拉取 Windows 兼容镜像:
docker pull mcr.microsoft.com/windows/servercore/iis:ltsc2022 - 运行 IIS 容器并映射端口:
docker run -d --name myiis -p 8080:80 --isolation=hyperv mcr.microsoft.com/windows/servercore/iis:ltsc2022 - 如需自定义网络(例如创建专用桥接网络),使用:
docker network create -d nat --subnet=172.28.0.0/16 mynet,再启动容器时加--network mynet - 检查容器网络状态:
docker inspect myiis | Select-String "IPAddress", "Networks"
集成高级网络策略(可选)
在企业环境中,常需配合 Windows 的网络策略组件实现更精细控制:
- 启用容器网络接口(CNI)插件前,先安装适用于 Windows 的 Azure CNI 或其他兼容插件
- 使用 PowerShell 调用
Invoke-RestMethod或curl向网络策略服务(如 Calico 或 Cilium Windows agent)推送规则 - 对容器主机执行防火墙策略同步:
Set-NetFirewallRule -DisplayName "Docker Inbound" -Enabled True - 验证 DNS 解析是否正常:
docker exec myiis ping -n 1 google.com











