🔬 docker run --gpus all 完整调用链路

模块 1 — Linux 基础与容器技术入门  |  PPT 第 39 页  |  点击组件查看详情

$ docker run --gpus all nvidia/cuda:12.4.0-devel-ubuntu22.04 nvidia-smi
用户空间 Docker 引擎 OCI Runtime Linux 内核 硬件
用户空间
Docker CLI
用户操作入口
Unix Socket
dockerd
Docker Daemon
gRPC
Docker 引擎
containerd
容器生命周期管理
fork + exec
containerd-shim
进程托管 (每个容器一个)
OCI Runtime (exec)
OCI Runtime
runc
OCI 标准容器运行时
runc 依次执行:
① unshare
Namespace 隔离
② cgroup
资源限制
③ mount overlay
分层文件系统
prestart hook
④ nvidia-container-toolkit
注入 GPU 设备 + 驱动库
系统调用
Linux 内核
PID NS
Mount NS
Net NS
Cgroup
设备访问
⚓ GPU
nvidia-smi 输出
💡 讲解提示

点击左侧任意组件查看详情,或使用下方按钮按调用链顺序逐步讲解。

调用链:
CLIdockerdcontainerdshimrunc(NS → Cgroup → OverlayFS → GPU Hook)GPU