docker网络--容器通信--跨主机容器通信

容器通信除了以上的方式,还有如下的方式:
docker容器除了使用ip地址进行通信,还可以进行容器名称通信。dns解析功能必须在自定义网络中才可以使用。启动容器时使用 --name参数指定容器名称

joined容器时一种较为特别的网络模式
在容器创建时使用–network=container:vm1指定(vm1指定运行的容器名)。处于这个模式下的docker容器会共享一个网络栈,这样两个容器之间可以使用localhost高速快速通信。

joined容器类似于之前的host模式,host模式是容器与宿主机共享,而这里是容器与容器之间之间共享。
在这里插入图片描述
此时可以通过vm2来访问vm1的容器:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其实ping真实名和别名都可以ping通:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

跨主机容器通信:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
macvlan网络方案实现:
实验环境:
准备两台安装并且启动了docker的机器,这两太机器添加一个网卡,使其拥有两个网卡
在这里插入图片描述

在这里插入图片描述
两台机器本身需要可以通信:
在这里插入图片描述
配置eth1网卡并且激活:(server1与server2均需要配置)
在这里插入图片描述
在这里插入图片描述
两台机器打开混杂模式:
在这里插入图片描述
清空实验环境:
在这里插入图片描述

server1:

通过parent参数直接告诉机器使用物理接口eth1进行通信:
在这里插入图片描述
此时利用该网络启动一个容器,自动分配该网段的一个地址:
在这里插入图片描述
也可以手动指定Ip(前提:之前需要设置了subnet gateway参数)
在这里插入图片描述

server2:

在server2中配置相同网段的网络(相当于交换机,只在二层进行交换,所以需要设置为相同的网段)
在这里插入图片描述
手动设置ip(不能与server1的ip一样,否则会冲突)

在这里插入图片描述
此时两台机器可以互通:
在这里插入图片描述
此方法的缺陷:在企业中,即使创建多个网卡仍然不够用,并且机器真实的物理网卡有限。

在这里插入图片描述
server与server2在原来的基础上创建:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值