---
title: KAE在Docker中的使用
description: "KAE支持在Docker中使用，使用前要求HostOS上已经建立Docker容器，且已经安装KAE，最后在HostOS上完成相关配置后方可使用。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2300/accel/kunpengaccel_16_0025.html
sourcePath: /source/zh/kunpengboostkithistory/2300/accel/kunpengaccel_16_0025.html
indexId: 96d547cc02d727c1b7ce7ef88b2d2e19e5aa0a97397db47063415da1a5d116dd70
---
# KAE在Docker中的使用

KAE支持在Docker中使用，使用前要求HostOS上已经建立Docker容器，且已经安装KAE，最后在HostOS上完成相关配置后方可使用。

加速器设备遵循PCIe规范，在操作系统内呈现为PCIe设备，并支持SR-IOV能力。每个加速器提供了1024个队列，单个PF默认使用256个队列，其余768个队列预留给VF使用。VF队列数量 = (1024-PF队列数量) / VF个数，余数队列会加到最后一个VF上。推荐一个PF虚拟化出8个VF数目。

#### 在HostOS上进行虚拟化配置

1. 查询HostOS环境中安装的加速器和对应的bdf号。
  1 ls -al /sys/class/uacce

2. 虚拟化加速器VF（以hisi_sec设备为例，各虚拟出3个VF，对应hisi_sec - 8 ~ hisi_sec - 13）。
  1 2 echo 3 > /sys/devices/pci0000:74/0000:74:01.0/0000:76:00.0/sriov_numvfs echo 3 > /sys/devices/pci0000:b4/0000:b4:01.0/0000:b6:00.0/sriov_numvfs

3. 启动Docker容器，并给容器分配加速器VF。
  1 docker run -it -v /usr/:/usr/ --device=/dev/hisi_sec-8:/dev/hisi_sec-2:rwm -m 8192m --cpuset-cpus="4-7" 90b5058926a2 /bin/bash

  - I：使Docker分配一个伪终端并绑定在容器的标准输入上。 - t：使容器的标准输入保持打开。 - v：使宿主机的目录挂载到镜像里，冒号前为宿主机目录，必须为绝对路径，冒号后为镜像内挂载的路径。 --device：指定容器使用宿主机的设备，冒号前为宿主机上创建的VF设备，冒号后为容器内目录，r，w，m使容器拥有对设备的读、写、创建设备文件的权限。 -m：限制容器使用最大内存数量。 --cpuset-cpus：指定容器在哪些CPU内核上运行。 90b5058926a2：为镜像id，也可换成镜像名，查看命令为：docker images。 /bin/bash：启动容器的bash。
