实现不同网段docker容器网络互通

首先我们需要了解的是:每个docker容器都是隔离的,所以它们之间是相互不同的!
那么我们开始操作起来,让他们之间可以相互ping通网络。。。

一、拉取镜像创建容器

1.在这之前首先关闭防火墙;在这里插入图片描述如果显示 runinng 则执行:sudo systemctl stop firewalld
2.在https://hub.docker.com里拉取镜像 busybox (注:busybox相当于小型的centos虚拟机,且比较小)在这里插入图啥句话片描述 执行docker image ls 查看镜像;
3.创建两个容器:
docker run -it -d --name test1 busybox
docker run -it -d --name test2 busybox
在这里插入图片描述

二、查看网络连接状态

docker network ls

在这里插入图片描述这里有个bridge,默认情况下创建的所有容器都会在bridge网段;
查看bridge网段详情通常是

docker network inspect bridge

在这里插入图片描述 这里我们下在一个小插件:
sudo yum install -y bridge-utils
这样执行 sudo brctl show

可以清晰简单的看到连接到各网段的容器
进入test1容器docker exec -it test1 sh
在上图可以看到test2 的ip是172.17.0.3,那么我们ping一下test2试试看是否网络可通是可以的 因为其在同一各网段;那么直接ping容器名字呢?在这里插入图片描述那么神操作来啦 简单的命令试试结果吧
docker run -d -it --link test2 --name test3 busybox
进入test3容器在这里插入图片描述OK!

那么如果不是在bridge网段的同期是否能ping通呢

首先建一个网段取名为:my-bridge

docker network create --driver bridge my-bridge

其中–driver是表示基于后面参数bridge建立的网段my-bridge
来吧,创建一个在my-bridge网段的容器

docker run -it -d --net=my-bridge --name test4 busybox

很显然test4 和test1.2.4都不在一个网段在这里插入图片描述ping下试试吧在这里插入图片描述不行的,那么见证奇迹的时刻到了,先看看网络连接在这里插入图片描述我们把test也加入bridge网段(test4会有两个ip)

docker network connect bridge test4

再看下网段情况在这里插入图片描述那么我们进入test4网段随意ping一下bridge网段的容器在这里插入图片描述OK,很奈斯

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IT_Bigboy_sz

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

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

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

打赏作者

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

抵扣说明:

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

余额充值