dockernetworking ipvlan macvlan host
时间: 2024-01-10 12:02:28 浏览: 30
```shell
# 使用ipvlan创建一个容器网络
docker network create -d ipvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 ipvlan_net
# 使用macvlan创建一个容器网络
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macvlan_net
使用host模式运行一个容器
docker run -d --network host nginx
```
相关问题
ip link add macvlan
ip link add macvlan 命令用于创建一个 Macvlan 接口,它是一个虚拟的网络接口,它将通过父接口的 MAC 地址来连接到网络。当您需要使用多个 IP 地址时,或者需要在同一物理接口上使用多个 MAC 地址时,可以使用 Macvlan 接口。例如,您可以创建一个 Macvlan 接口来为容器提供虚拟网络接口,而不需要为每个容器分配一个物理接口。以下是一个示例命令:
```
ip link add link eth0 macvlan0 type macvlan mode bridge
```
其中,eth0 是父接口的名称,macvlan0 是新的 Macvlan 接口的名称,mode bridge 表示使用桥接模式。使用该命令创建的 Macvlan 接口将在网络桥中运行,并且可以像其他网络接口一样配置。
虚拟化网络- vlan vxlan macvlan ipvlan对比
虚拟化网络是一种通过软件技术将物理网络资源划分为多个虚拟网络的方法,可以提供更灵活和高效的网络管理和部署。在虚拟化网络中,常见的技术包括 VLAN、VXLAN、MACVLAN 和 IPVLAN。下面是它们之间的对比:
1. VLAN(Virtual LAN)是一种虚拟化技术,通过标记数据包的 VLAN ID 来将单一物理网络划分为多个逻辑上隔离的虚拟网络。不同的 VLAN 之间可以进行通信,但是需要通过交换机进行数据包的转发。
2. VXLAN(Virtual Extensible LAN)是一种扩展的虚拟化网络技术,通过在数据包中封装一个额外的头部来扩展 VLAN 的数量。VXLAN 使用一个 24 位的 VXLAN Network Identifier (VNI) 来将数据包隔离到不同的虚拟网络中。VXLAN 可以在不同的物理网络之间扩展,并且可以跨越多个物理子网。
3. MACVLAN 是一种将单个物理接口划分为多个逻辑上独立的虚拟接口的技术。每个 MACVLAN 接口都有自己的 MAC 地址,并且可以与其他 MACVLAN 接口或物理接口进行通信。MACVLAN 可以实现主机级别的虚拟网络隔离。
4. IPVLAN 是一种将单个物理接口划分为多个逻辑上独立的虚拟接口的技术,每个 IPVLAN 接口都有自己的 IP 地址。IPVLAN 可以实现更高级别的虚拟网络隔离,并且可以与其他 IPVLAN 接口或物理接口进行通信。