目 录CONTENT

文章目录

通过Network namespace 连接docker容器网络

小张的探险日记
2022-02-10 / 0 评论 / 0 点赞 / 795 阅读 / 733 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-02-10,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

准备

1.Docker 环境

2.两个docker 容器 -busybox

流程

1.启动 docker 容器

2.执行

docker run -d –name test1 busybox /bin/sh -c "while true;do sleep 3600;done"
docker run -d –name test2 busybox /bin/sh -c "while true;do sleep 3600;done"

启动两个容器完成

3.在本地机 执行 如下 创建两张虚拟网卡

sudo ip link add veth-test1 type veth peer name veth-test2

通过 ip a 命令可以看到两张网卡

image.png

4.第四步

我们把新建好的网卡分发给 之前新建的两个 docker 容器 test1 和 test2 分发给 两个 容器 
ip link set veth-test1 netns test1 ip link set veth-test2 netns test2

5.第五步,我们查看 容器test1 和 test2 的网卡,发现都多了一张网卡,但是状态都是DOWN 的, 那么 我们去把 网卡启动 起来

sudo ip netns exec test1 ip link set dev veth-test1 up 
sudo ip netns exec test2 ip link set dev veth-test2 up

6.第六步,查看容器的网卡 发现都是 up状态了,但是我们还没有给网卡分配ip地址 ,执行如下命令分配 ip地址

sudo ip netns exec test1 ip addr add 192.168.1.1/24 dev veth-test1 
sudo ip netns exec test2 ip addr add 192.168.1.2/24 dev veth-test2

7.第七步,进入不同容器测试 ping命令即可

0

评论区