服务器 
首页 > 服务器 > 浏览文章

docker添加多网卡的方法

(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )

1. 清除物理网卡ip地址(192.168.1.22),使其工作在链路层接收所有数据包

ip addr del 192.168.1.22/24 dev eth0 
ip addr add 0.0.0.0 dev eth0 

2. 创建网桥br0并把接口eth0加入br0

ip link add br0 type bridge   # ip link delete br0 
ip link set br0 up            # ip link set br0 down 
ip link set eth0 master br0   # ip link set eth0 nomaster 

3. 启动容器

docker run -it --name testns centos 

容器启动后已经配置了一块网卡eth0

结下了我们用ip命令向容器添加另一块网卡

4. 为ip netns准备环境(参考 man ip-netns):

nspid=$(docker inspect -f '{{.State.Pid}}' testns) 
ln -s /proc/${nspid}/ns/net /var/run/netns/${nspid} 

5. 创建一对网口tt0和tt1

ip link add tt0 type veth peer name tt1 

或者直接ip link add type veth peer创建veth0,veth1

6. 添加一网口至br0

ip link set dev tt1 master br0 
ip link set dev tt1 up 

7. 添加另外一网口至容器 testns , 并命名为eth1配置ip

ip link set dev tt0 name eth1 netns ${nspid} 
ip netns exec ${nspid} ip link set dev eth1 up 
ip netns exec ${nspid} ip addr add 10.65.120.48/16 dev eth1 
ip netns exec ${nspid} ip addr add 10.65.120.49/16 label eth1:1 dev eth1 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:nginx+redis实现session共享
下一篇:CentOS服务器环境下MySQL主从同步配置方法
一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。