FROM ubuntu:22.04 # 安装系统依赖 RUN apt-get update && apt-get install -y \ dmsetup \ targetcli-fb \ sqlite3 \ fio \ curl \ && rm -rf /var/lib/apt/lists/* # 安装Rust RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y ENV PATH="/root/.cargo/bin:${PATH}" # 复制源码 COPY . /markbase WORKDIR /markbase # 编译项目 RUN cargo build --release --bin configure_iscsi # 创建测试数据目录 RUN mkdir -p /markbase/data/users \ && mkdir -p /tmp/test_disks # 创建虚拟磁盘(3个100MB文件作为测试磁盘) RUN dd if=/dev/zero of=/tmp/test_disks/disk1.img bs=1M count=100 \ && dd if=/dev/zero of=/tmp/test_disks/disk2.img bs=1M count=100 \ && dd if=/dev/zero of=/tmp/test_disks/disk3.img bs=1M count=100 # 设置执行权限 RUN chmod +x scripts/*.sh # 默认命令 CMD ["./scripts/configure_iscsi.sh", "docker_test"]