docker的macvlan在不同主机上如何进行自动分配ip且不重复?
时间: 2023-06-26 18:03:20 浏览: 190
Docker 如何分配宿主机网段 IP
在不同主机上使用docker的macvlan进行自动分配ip可以通过以下步骤实现:
1. 在每个主机上创建一个macvlan网络,例如:
```
docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 \
my-macvlan-net
```
其中,`--subnet`指定了macvlan网络的子网,`--gateway`指定了macvlan网络的网关,`-o parent`指定了macvlan网络所绑定的物理网卡。
2. 在每个主机上创建一个具有固定名称的容器,例如:
```
docker run -itd --name=my-macvlan-ip-gen \
--network=my-macvlan-net \
--ip=192.168.1.10 \
alpine sh
```
其中,`--name`指定了容器的名称,`--network`指定了容器所使用的macvlan网络,`--ip`指定了容器的IP地址。
3. 在每个主机上的容器中运行一个IP地址生成脚本,例如:
```
#!/bin/sh
ip addr add dev eth0 192.168.1.$((RANDOM % 254 + 2))/24
```
这个脚本会在容器启动时自动执行,生成一个随机的IP地址。
4. 将步骤2中的容器设置为开机自启动。
这样,每个主机上的容器会在启动时自动分配一个随机的IP地址,并且不会与其他主机上的容器的IP地址重复。
阅读全文