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

(可选)创建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网络,配置命令参考如下。(该操作每次环境重启都需要重新配置。)
    1
    2
    3
    4
    5
    6
    docker network create -d ipvlan \
     --subnet=192.168.***.0/24 \
     --ip-range=192.168.***.128/25 \
     --gateway=192.168.***.1 \
     -o ipvlan_mode=l2 \
     -o parent=bond4 ipvlan_network
    

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

    • subnetgateway改为环境网段,根据机器网段配置,与配置网卡IP地址的网段保持一致。
    • ip-range是Docker分配给容器的IP地址范围。如上述举例所示,表示Docker容器的起始IP地址从***.128开始。如果本行删除,则表示Docker容器的起始IP地址默认从***.2开始。
    • ipvlan_mode设为l2,parent设为网卡设备名称,可为bond4网卡也可为单张网卡,如enp24s0f0np0 ipvlan_network。
    • 网络名称是ipvlan_network。

故障处理

问题现象描述

执行创建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