Docker的3种自定义网络(bridge、overlay、macvlan)自带域名解析——容器间通信

Docker 提供三种 user-defined 网络驱动:bridge, overlay 和 macvlan
overlay 和 macvlan 用于创建跨主机的网络

搭建实验环境

自定义网络需要再开启一台宿主机server2

从真机给server2传镜像
导入镜像并且查看
在这里插入图片描述
自定义网络的演示
自定义网络需要使用create命令,先来看看create命令可以跟哪些参数
原生网络不存在域名解析,但是自定义网络存在域名解析
在这里插入图片描述
在这里插入图片描述
(1)bridge模式
创建自定义的bridge网络并且查看
创建一个bridge模式的网络
在这里插入图片描述
运行容器vm1并且指定网络模式为刚才自定义的bridge模式
可以看到ip地址和宿主机的ip不在一个网段

在这里插入图片描述
再运行一个容器,发现ip地址也是递增的,并且容器之间具有域名解析,可以ping通
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
清理一下实验环境

 在宿主机上ip addr show会发现自定义的网络ip会出现在宿主机上

在这里插入图片描述
自定义的bridge模式可以自己指定ip网段和网段
在这里插入图片描述
查看一下刚才自定义的网络my_net1和my_net2
my_net1的网段没有指定,那就是以宿主机桥接的网段为基础递增的
因为上一个博客建立了一个net所以这个递增到172.19.0.0而不是172.18.0.0
查看docker自定义网络如下图,当我们创建好自定义网络后,自定义为其分配IP网段和网关

docker的bridge自定义网络之间默认是有域名解析的;
docker的bridge自定义网络与系统自带的网桥之间默认是有解析的;
但是docker的系统自带的网桥之间默认是没有解析的。

在这里插入图片描述
my_net2的网段是自己指定的,随意,只要不冲突即可
再创建一个bridge的网络,自定义ip和网关

在这里插入图片描述
此时发现宿主机的私有网段又多了一个
在这里插入图片描述

运行容器的时候可以指定ip,只有当创建自定义网络ip时候,加了–subnet和gateway时候才可以指定ip
在这里插入图片描述
在这里插入图片描述
刚才在以my_net2为基础运行了两个容器vm1和vm2,网段是172.20.0,可以互相ping通
接下来在以my_net1为基础运行两个容器vm3和vm4,网段是172.18.0,也可以互相ping通

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发现vm1、vm2和vm3、vm4ping不通
因为在宿主机上定义的两个网络my_net1和my_net2就不在一个网段
因此基于这两种网络运行起来的容器肯定ping不通

接下来想实现这两种网络之间的通信(my_net1和my_net2)
在这里插入图片描述
在这里插入图片描述
给vm1容器添加一块my_net1的网卡,就可以和my_net2容器vm3、vm4进行通信了
建立两个容器之间的连接

因为刚才是用my_net2建立的vm1,2所以在vm1,2上加入my_net1的网卡

在这里插入图片描述
在这里插入图片描述
其实上面简单实现了同一宿主机上不同网段容器之间的通信
以上我们实现了:使用自定义网络实现容器间的通信

docker的bridge自定义网络之间:双方可以随便添加对方的网卡
docker的bridge自定义网络与系统自带的网桥之间:只能是,系统自带的网桥对应的容器 添加 bridge自定义网络对应的容器的网卡。而反过来会报错。
但是docker的系统自带的网桥之间:是可以通信的,因为是在一个网络桥接上。
docker 1.10开始,内嵌了一个DNS server。dns解析功能必须在自定义网络中使用。

Docker的3种自定义网络(bridge、overlay、macvlan)
Docker 提供三种 user-defined 网络驱动:bridge, overlay 和 macvlan。
overlay 和 macvlan 用于创建跨主机的网络

ctrl+p+q,再创建一个容器,使用网络my_net2。
使用–ip参数可以指定容器ip地址,但必须是在自定义网桥上(自定义的ip地址和网关地址)
默认的bridge模式不支持,同一网桥上的容器是可以通信的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值