1、创建项目目录结构
mkdir my-softroce-project
cd my-softroce-project
mkdir softroce_config
2、编写“start_softroce.sh”脚本
#!/bin/bash
# 加载 SoftRoCE 模块
modprobe rdma_rxe
# 添加并启用 RXE 设备
rdma link add rxe0 type rxe netdev eth0
# 打印 RDMA 设备信息
ibv_devices
# 保持容器运行
tail -f /dev/null
保持并关闭文件
3、编写Dockerfile
在“my-softroce-project”目录下创建“Dockerfile”文件:
# 使用官方的 Ubuntu 镜像作为基础镜像
FROM ubuntu:22.04
# 更新包列表并安装必要的软件包
RUN apt-get update && apt-get install -y \
build-essential \
cmake \
libibverbs-dev \
rdma-core \
ibverbs-utils \
infiniband-diags \
iproute2 \
perftest \
iputils-ping \
infiniband-diags ibverbs-utils \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# 添加 SoftRoCE 配置脚本
COPY softroce_config/start_softroce.sh /etc/softroce_config/start_softroce.sh
RUN chmod +x /etc/softroce_config/start_softroce.sh
# 启动 SoftRoCE 服务
CMD ["/etc/softroce_config/start_softroce.sh"]
4、构建Docker镜像
在“my-softroce-project”目录下运行以下命令来构建Docker镜像:
docker build -t my-softroce-image .
5、运行容器
构建完成后,可以使用一下命令运行容器:
docker run -d --name my-softroce-container --privileged my-softroce-image
6、进入容器
如需要进入容器内部执行其他操作,可以使用一下命令:
docker exec -it my-softroce-container /bin/bash
7、验证softroce服务
在容器内,你可以运行一下命令验证SoftRoce是否正常工作:
ibv_devices