8-docker网络之macvlan(相同网络)

1.macvlan介绍

macvlan是众多Docker网络模型中的一种,并且是一种跨主机的网络模型,作为一种驱动启用。

2.相同macvlan网络之间的通信

本实验基于两台主机节点的docker环境进行测试验证,拓扑图如下:

3.实验搭建测试

-->在两台主机上创建macvlan网络

命令:

docker network create -d macvlan --subnet=172.18.0.0/24 --gateway=172.18.0.1 -o parent=ens32 mac1
docker network ls

[root@lnmp ~]# docker network create -d macvlan --subnet=172.18.0.0/24 --gateway=172.18.0.1 -o parent=ens32 mac1
......
......
[root@lnmp ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
5da7d3cc3417   bridge    bridge    local
8c8a9014e783   host      host      local
555265c3c8f9   mac1      macvlan   l
<think> 嗯,用户想要了解在Docker中创建Macvlan网络时ipam-driver的类型有哪些。这是一个比较专业的Docker网络配置问题。 用户引用了站内关于Macvlan网络的资料,其中提到了基础创建命令,但并未明确提到ipam-driver的具体类型。看来用户已经对Macvlan的基本配置有所了解,现在想深入到IP地址管理(IPAM)的层面。 从Docker官方文档来看,IPAM驱动主要有三种类型:默认的docker自带的ipam驱动(通常就叫default或内置ipam)、host-local(主机本地管理)和dhcp(动态主机配置协议)。考虑到用户在使用Macvlan这种需要精细控制IP地址分配的网络,host-local应该是最常用的选项。 用户可能是运维工程师或者DevOps,正在搭建需要固定IP地址的容器环境。ta特意提到"ipam-driver的类型",说明已经遇到了IP地址分配的需求,可能正在解决实际部署中的问题。这个问题显示出用户对Docker网络的理解已经超越了基础层面。 需要特别注意Macvlan网络在使用host-local时的配置要点,特别是subnet和range参数的配合使用。最好用示例代码展示不同驱动类型的典型配置差异,这样用户能直观看到关键配置项的变化。 </think> 在 Docker 中创建 Macvlan 网络时,`ipam-driver` 用于指定 IP 地址管理驱动(IP Address Management driver)。其主要类型包括: 1. **`default` / Docker 内置 IPAM** * **类型标识**: 通常不显式指定 `--ipam-driver` 参数或指定为 `default` * **功能**: Docker 引擎自带的基础 IPAM 驱动。 * **配置选项**: * `--subnet`: 指定网络的 IPv4 或 IPv6 地址范围(必需)。 * `--gateway`: 指定子网的默认网关(可选)。 * `--ip-range`: 指定容器 IP 的可分配子集(可选)。 * `--aux-address`: 保留 IP 地址不被分配(可选)。 * **典型命令**: ```bash docker network create -d macvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 \ -o parent=eth0 \ my_macvlan ``` 2. **`host-local`** * **类型标识**: `--ipam-driver=host-local` * **功能**: 在每个主机本地存储 IP 分配状态(通常是文件),适用于单主机或需要固定 IP 的场景。 * **关键配置**: * `subnet`: 指定网络地址段(必需)。 * `range`: 指定容器 IP 的可分配子集(必需,通常与 `subnet` 相同)。 * `gateway`: 指定网关(可选)。 * **典型命令**: ```bash docker network create -d macvlan \ --ipam-driver=host-local \ --ipam-opt subnet=192.168.2.0/24 \ --ipam-opt range=192.168.2.32/28 \ --ipam-opt gateway=192.168.2.1 \ -o parent=eth0 \ my_fixed_ip_macvlan ``` 3. **`dhcp`** * **类型标识**: `--ipam-driver=dhcp` * **功能**: 容器启动时向外部 DHCP 服务器请求 IP 地址。 * **特点**: 依赖网络中存在 DHCP 服务;一般不用于 Macvlan(因其常用于需要固定或确定性 IP 的场景)。 * **配置**: 通常只需指定父接口。 * **典型命令**: ```bash docker network create -d macvlan \ --ipam-driver=dhcp \ -o parent=eth0 \ my_dhcp_macvlan ``` **总结与选择建议**: * **最常见类型**:`default` (内置 IPAM) 和 `host-local` 是最常用的,尤其 `host-local` 适合需要精确控制容器 IP 的场景[^1][^2]。 * **关键区别**: * `default`:IP 分配由 Docker 管理,范围由 `--subnet` 和 `--ip-range` 定义。 * `host-local`:需显式通过 `--ipam-opt` 指定 `subnet` 和 `range`,适合固定 IP。 * `dhcp`:依赖外部 DHCP 服务器分配动态 IP,较少用于 Macvlan。 **示例:创建使用 `host-local` IPAM 的 Macvlan** ```bash docker network create -d macvlan \ --ipam-driver=host-local \ --ipam-opt subnet=172.30.0.0/16 \ --ipam-opt range=172.30.100.0/24 \ --ipam-opt gateway=172.30.100.1 \ -o parent=eth0 \ macvlan_hostlocal ``` 此命令创建了一个 Macvlan 网络容器 IP 将从 `172.30.100.0/24` 中分配,网关为 `172.30.100.1`。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小黑要上天

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

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

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

打赏作者

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

抵扣说明:

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

余额充值