鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

(可选)创建IPVLAN网络

IPVLAN是一种Linux网络设备驱动,它提供了一种轻量级的方式来创建多个逻辑网络接口,这些接口共享同一个物理网络接口。与传统的MACVLAN不同,IPVLAN不为每个虚拟接口分配独立的MAC地址,而是让所有子接口共享物理接口的MAC地址。这种方式有助于减少在大型部署中的MAC地址冲突问题,并且由于减少了交换机上的MAC表项,也能降低对交换机资源的消耗。

常用命令

  • 查看Docker版本。
    1
    docker --version
    
  • 加载镜像。
    1
    docker load -i openEuler-docker.aarch64.tar.xz
    
  • 查看加载的镜像。
    1
    docker images
    

  • 显示正在运行的Docker容器。
    1
    docker ps
    
  • 显示所有Docker容器,包括已经停止的容器。
    1
    docker ps -a
    
  • 停止容器。
    1
    docker stop <容器id>
    
  • 删除容器。
    1
    docker rm  (-f) <容器id>
    
  • 查看容器网络。
    1
    docker network ls
    

创建Docker IPVLAN网络

  1. 查看内核加载的模块中是否包含IPVLAN模块。
    1
    lsmod | grep ipvlan
    
    若没有回显信息,加载IPVLAN内核模块。
    1
    sudo modprobe ipvlan
    
  2. 环境重启后若Docker服务未启动,需重启Docker服务,否则跳过该步骤。
    1
    sudo systemctl restart docker
    
  3. 创建Docker IPVLAN网络,每次环境重启需要重新配置Docker IPVLAN网络,配置命令参考如下。
    1
    2
    3
    4
    5
    6
    docker network create -d ipvlan \
     --subnet=192.168.220.0/24 \
     --ip-range=192.168.220.128/25 \
     --gateway=192.168.220.1 \
     -o ipvlan_mode=l2 \
     -o parent=bond4 ipvlan_network
    

    以下参数请按实际情况进行修改:

    subnetgateway改为环境网段,根据机器网段配置,与配置网卡IP的网段保持一致。

    ip-range是Docker分配给容器的IP范围。如上述举例所示,表示Docker容器的起始IP地址从220.128开始。如果本行删除,则表示Docker容器的起始IP地址默认从220.2开始。

    ipvlan_mode设为l2,

    网络名称是ipvlan_network。

报错处理:plugin "ipvlan" not found

问题现象描述

执行创建Docker IPVLAN网络命令后报错Error response from daemon: plugin "ipvlan" not found。

结论、解决方案及效果

  1. 打开文件daemon.json。
    1
    vi /etc/docker/daemon.json
    
  2. 修改字段(如果文件内已有内容,将以下字段添加至顶部)。
    { 
       "experimental": true 
    }
  3. 重启Docker服务。
    1
    sudo systemctl restart docker