可直接用 docker network connect 为运行中容器动态添加网卡,docker 自动创建并配置新虚拟接口(如 eth1);支持指定 ip、别名,需自定义 bridge 网络才可固定 ip;断开用 disconnect。

可以直接用 docker network connect 为正在运行的容器动态添加网卡,无需重启、无需修改配置文件。本质是让容器接入一个新的 Docker 网络,Docker 会自动为其创建并配置对应虚拟网络接口(如 eth1、eth2)。
确认目标容器和网络
先查清你要操作的容器 ID/名称,以及准备接入的网络:
- 列出所有运行中容器:
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}" - 列出所有可用网络:
docker network ls - 若目标网络不存在,可新建一个桥接网络:
docker network create mynet
执行连接命令
使用 docker network connect 将容器加入网络:
- 基础用法(自动分配 IP):
docker network connect mynet container_name_or_id - 指定 IPv4 地址(需网络支持该子网):
docker network connect --ip 172.20.0.10 mynet container_name_or_id - 同时指定 IPv4 和别名:
docker network connect --ip 172.20.0.10 --alias web-internal mynet container_name_or_id
验证新网卡是否生效
连接后立即检查容器内是否多出一个网络接口:
- 进入容器查看网卡:
docker exec -it container_name_or_id ip a或ifconfig - 观察是否有新增接口(如
eth1),对应你刚连入网络的 IP - 检查路由表:
docker exec container_name_or_id ip route,确认新网络已加入路由 - 反向验证:在宿主机或同网络其他容器中 ping 新 IP,测试连通性
补充说明与注意事项
几个关键点需留意:
- 一个容器可同时接入多个网络,每个网络对应一个独立网卡(
eth0、eth1…) - 默认 bridge 网络不支持直接指定 IP;自定义 bridge 网络需提前用
--subnet定义地址段 - 断开某网络用:
docker network disconnect mynet container_name_or_id - macvlan / ipvlan 等高级驱动也支持 connect,但需宿主机内核和权限支持











