Windows系统:如何通过命令行创建以太网网络及为Docker容器添加多网卡
解决Windows Docker容器多网卡配置问题
我来帮你搞定这两个操作,下面是具体的步骤和命令(确保Docker Desktop已经正常运行,用PowerShell或CMD执行即可):
一、命令行创建新的以太网网络
我们需要创建一个自定义的nat类型网络(这是Windows容器默认兼容的主流网络驱动),避免和主机现有网段冲突:
执行创建命令,这里我把网络命名为
my-win-custom-net,你可以换成自己喜欢的名字,同时指定独立的子网和网关:docker network create --driver nat --subnet 192.168.200.0/24 --gateway 192.168.200.1 my-win-custom-net参数说明:
--driver nat:指定网络驱动为nat,适配Windows容器的网络模型--subnet:自定义子网段,建议选一个和你主机现有网段不重叠的范围--gateway:对应子网的网关地址,确保和子网段匹配
验证网络是否创建成功:
docker network ls执行后你会在列表里看到刚创建的
my-win-custom-net网络。
二、为Windows容器添加两个及以上以太网适配器
注意:Windows Docker目前不支持给运行中的容器动态添加网卡,所以我们只能在容器停止状态下操作,或者创建新容器时逐步连接多个网络。
方式1:创建新容器时添加多网卡
先创建容器并连接到第一个网络,再把它连接到其他网络:
# 1. 创建容器并连接到默认的nat网络 docker run -d --name my-multi-nic-container mcr.microsoft.com/windows/servercore:ltsc2019 # 2. 连接到我们刚创建的自定义网络 docker network connect my-win-custom-net my-multi-nic-container # 3. 如果需要第三个网卡,可以再创建另一个自定义网络,然后连接 # docker network create --driver nat --subnet 192.168.201.0/24 --gateway 192.168.201.1 another-custom-net # docker network connect another-custom-net my-multi-nic-container
方式2:给已存在的停止容器添加多网卡
如果你的容器已经存在,先停止它再操作:
# 1. 停止目标容器 docker stop your-existing-container # 2. 连接到第一个网络(如果还没连接) docker network connect nat your-existing-container # 3. 连接到第二个及更多网络 docker network connect my-win-custom-net your-existing-container # docker network connect another-custom-net your-existing-container # 4. 重新启动容器 docker start your-existing-container
验证多网卡是否生效
进入容器内部查看网卡情况:
docker exec -it your-container-name powershell # 在容器内执行以下命令查看网卡 Get-NetAdapter
你会看到多个以太网适配器,每个对应一个连接的网络。
额外提示:如果你的容器需要GUI界面,Windows容器默认没有桌面环境,你可以在容器内安装远程桌面服务(RDP),然后通过RDP连接容器,多网卡配置可以让容器在不同网络下被远程访问。
内容的提问来源于stack exchange,提问作者kongxx




