Docker网络管理应用

实验要求

了解Docker常用网络模式,掌握Docker常用网络模式的使用。主要任务是利用busybox镜像建立容器,容器名称为test_busybox1和test_busybox2,将网络模式设置为none,并为容器配置IP地址,容器test_busybox1的IP设置为172.17.0.100,容器test_busybox2的IP设置为172.17.0.200,要求实现两容器互通。

学习准备

要求实验主机能够连接外网,已经正确安装Docker,并关闭防火墙和selinux。

学习步骤

(1)建立容器test_busybox1,设置网络模式为none

# docker run -dit --name=test_busybox1 --net=none busybox:latest 

# docker exec -it test_busybox1 /bin/sh  // 进入容器test_busybox1

/ # ip address                                              // 查看IP地址

/ # exit // 退出容器test_busybox1

设置成none所以可以看出test_busybox1没有ip地址

2)建立容器test_busybox2,设置网络模式为none

# docker run -dit --name test_busybox2 --net=none busybox:latest

# docker exec -it test_busybox2 /bin/sh  // 进入容器test_busybox2

/ # ip address

/ # exit                                                         // 退出容器test_busybox2

 (3)为容器test_busybox1设置IP地址,IP地址设置为172.17.0.100。

//将veth设置为一端接入OVS网桥br-int

# yum -y install bridge-utils                                              // 安装软件包

# ip link add veth0 type veth peer name veth1

 // 添加一个veth对,指定veth0的对端是veth1。

# brctl addif docker0 veth0                                               // 将veth0加入网桥

# brctl show   

# ip link set veth0 up                                                           // 启动新端口

# docker inspect test_busybox1 | grep Pid

 从这次我们可以看出来,veth0已经连上了桥

# ip link set veth0 up                                                        // 启动新端口

# docker inspect test_busybox1 | grep Pid

# mkdir -p /var/run/netns

# pid1=24977                                                                     // 设置pid1为25762

# ln -s /proc/$pid1/ns/net /var/run/netns/$pid               //制作软连接

# ip link set veth1 netns $pid1                                        //将veth1连接容器网络

# ip netns exec $pid1 ip link set dev veth1 name eth0  

                                                                                         //将veth1重命名为eth0

# ip netns exec $pid1 ip link set eth0 up                      // 启用eth0

# ip netns exec $pid1 ip addr add 172.17.0.100/24 dev eth0

                                          // 在namespace中指定IP地址

# ip netns exec $pid1 ip route add default via 172.17.0.1  // 设置网关

 

 

 (5)测试,进入容器test_busybox1

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能边缘探索记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值