Docker 网络之 ipvlan 和 macvlan

这篇具有很好参考价值的文章主要介绍了Docker 网络之 ipvlan 和 macvlan。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker ipvlan 和 macvlan

Docker 网络之 ipvlan 和 macvlan,云原生,docker

 

引言

本文讲解了Docker 网络模式中的 ipvlan 和 macvlan 的区别,目前自己在生产环境中使用的 ipvlan 模式非常问题.也解决了实际业务问题.

IPvlan L2 mode example

ipvlan 无需网卡混杂模式 , 运行如下命令后可以生成一个 vlan 子接口 , 会和主网卡共享 mac 地址

创建ipvlan 网络

docker network create -d ipvlan --subnet 10.0.0.0/24 --gateway 10.0.0.254 -o parent=eth0.10 ipvlan10

注: 就算有 DHCP 也必须指定 subnet 和 gateway , 不然默认会分配成 172.的地址.

-o ipvlan_mode= Defaults to L2 mode if not specifie

运行容器

docker run -it --rm --net=ipvlan124 networkstatic/iperf3 -c 10.0.0.200

IPvlan L3 mode example

关键点: IPvlan L3 模式会丢弃所有广播和多播流量。

不要求gateway 参数, 3 层默认互通 , 不要求 parent 接口

看下面例子就懂了

Create the IPvlan L3 network
 docker network  create  -d ipvlan \
    --subnet=192.168.214.0/24 \
    --subnet=10.1.214.0/24 \
     -o ipvlan_mode=l3 ipnet210
 Test 192.168.214.0/24 connectivity
 docker run --net=ipnet210 --ip=192.168.214.10 -itd alpine /bin/sh
 docker run --net=ipnet210 --ip=10.1.214.10 -itd alpine /bin/sh
 Test L3 connectivity from 10.1.214.0/24 to 192.168.212.0/24
 docker run --net=ipnet210 --ip=192.168.214.9 -it --rm alpine ping -c 2 10.1.214.10
 Test L3 connectivity from 192.168.212.0/24 to 10.1.214.0/24
 docker run --net=ipnet210 --ip=10.1.214.9 -it --rm alpine ping -c 2 192.168.214.10
Inside an L3 mode container

$ docker exec 36bbb711cb0d  ip route
default dev eth0 scope link
192.168.214.0/24 dev eth0 scope link  src 192.168.214.10

$ docker exec 0aff00099717 ip route
default dev eth0 scope link
10.1.214.0/24 dev eth0 scope link  src 10.1.214.10

Dual stack IPv4 IPv6 IPvlan L2 mode

Create a v6 network
 docker network create -d ipvlan \
    --ipv6 --subnet=2001:db8:abc2::/64 --gateway=2001:db8:abc2::22 \
    -o parent=eth0.139 v6ipvlan139
 Start a container on the network
 docker run --net=v6ipvlan139 -it --rm alpine /bin/sh

Macvlan

macvlan 需要注意的点

  1. 网卡必须支持混杂模式
  1. 如果您的应用程序可以使用 bridge(在单个 Docker 主机上)或覆盖(跨多个 Docker 主机进行通信)工作,那么从长远来看,这些解决方案可能会更好。

Refer

IPvlan network driver | Docker Documentation文章来源地址https://www.toymoban.com/news/detail-661848.html

到了这里,关于Docker 网络之 ipvlan 和 macvlan的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker macvlan虚拟化网络与宿主机通信问题解决——筑梦之路

    默认情况下各个macvlan之间可以通讯,但是不能与宿主机进行通讯!! 主要原因:为了安全而禁止互通 如宿主机ping容器的ip,尽管他们属于同一网段,但也是ping不通的,反过来也是。 这里用两个实例来说明如何解决这个问题。 实例一  实例二 参考资料: 解决Docker macvlan网络

    2024年02月07日
    浏览(38)
  • 群晖DSM7实现Docker的macvlan

    参考:NAS相关 篇十二:群晖DSM7下,docker中macvlan网络模式配置简单教程 实现macvlan与host网络互通,及互通服务自启动_NAS存储_什么值得买 感谢 转身就买 大佬,群晖教程本来就少,写的这么详细的更是难得。  macvlan网络模式的docker容器,可以看作是局域网内的一个独立设备,

    2024年02月07日
    浏览(32)
  • 【云原生Docker】09-Docker网络详解

    ​ 安装 Docker 以后,会默认创建三种网络,可以通过 docker network ls 查看。 网络模式介绍: 桥接网络(bridge network 桥接网络是Docker默认的网络模式,也是最常用的一种。在桥接网络中,Docker主机上的所有容器都连接到同一个虚拟网络中。Docker会为每个容器分配一个唯一的IP地

    2023年04月12日
    浏览(20)
  • 怎样在docker中使用macvlan创建可以独立ip访问的容器

    macvlan是一种网络虚拟化技术,它允许在一个物理网络接口上配置多个虚拟网络接口,每个虚拟网络接口都有自己独立的 MAC 地址,并且可以配置上 IP 地址进行通信。macvlan主要应用于Docker容器网络中,可以在一个主机上创建多个网络环境,每个环境都有自己独立的 MAC 地址,从

    2024年02月03日
    浏览(62)
  • 【云原生】· 一文了解docker中的网络

    目录 🍒查看docker网络 🍒bridge网络 🍒none网络 🍒host网络 🍒自定义容器网络     🦐博客主页:大虾好吃吗的博客     🦐专栏地址:云原生专栏         根据前面的学习,已经对docker有了一些简单的概念。这里在啰嗦一句, 容器是一个独立的环境 ,可以理解为一个小

    2024年02月09日
    浏览(33)
  • 【云原生】 一文了解docker中的网络

    例如:bridge(桥接)、host(主机)、overlay(覆盖)和macvlan(MACVLAN)等。这意味着可以根据具体的场景和需求来选择使用哪一种网络驱动程序。 在该模式下,容器将配置为使用Docker守护进程上的bridge网络。这使得所有同一网络的容器都能够相互通信,并且可以使用连接到宿

    2024年02月14日
    浏览(27)
  • 【云原生】Docker网络及Cgroup资源控制

    Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的 Container-IP 直

    2024年02月16日
    浏览(33)
  • 【云原生 | 从零开始学Docker】七丶实战提交自己的镜像以及docker网络

    该篇文章已经被专栏《从零开始学docker》收录 为了巩固dockerfile,我们这里来进行真实的实战。 jdk 下载linux.tar.gz tomcat 最新版就行 首先我们要 vim Dockerfile 以此来创建一个叫dockerfile的文件。注:官方指定命名,build自动寻找,不需要-f指定 然后编写以上的脚本内容加入到dock

    2024年02月02日
    浏览(47)
  • 【云原生】Docker网络Overlay搭建Consul实现跨主机通信

    目录 1.overlay网络是什么? 实现overlay环境 1.overlay网络是什么?         在Docker中,Overlay网络是一种容器网络驱动程序,它允许在多个Docker主机上创建一个虚拟网络,使得容器可以通过这个网络相互通信。         Overlay网络使用VXLAN(Virtual Extensible LAN)技术来实现多主

    2024年02月14日
    浏览(29)
  • 【云原生Docker系列第三篇】Docker网络模式(在失去的所有人里,我最怀念自己 )

    😜即日起,更新云原生相关知识,喜欢的小伙伴可以给我点个三连喔 😜收录至专栏 云原生 😜【云原生Docker系列第一篇】Docker镜像管理 😜【云原生Docker系列第二篇】Docker容器管理 docker 使用linux 桥接,在宿主机虚拟一个docker 容器网桥(docker0) ,docker 启动一个容器时会根据

    2024年02月02日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包