You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows系统:如何通过命令行创建以太网网络及为Docker容器添加多网卡

解决Windows Docker容器多网卡配置问题

我来帮你搞定这两个操作,下面是具体的步骤和命令(确保Docker Desktop已经正常运行,用PowerShell或CMD执行即可):

一、命令行创建新的以太网网络

我们需要创建一个自定义的nat类型网络(这是Windows容器默认兼容的主流网络驱动),避免和主机现有网段冲突:

  1. 执行创建命令,这里我把网络命名为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:对应子网的网关地址,确保和子网段匹配
  2. 验证网络是否创建成功:

    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

火山引擎 最新活动