关于Nvidia Container Toolkit配合Docker Compose的使用及命令转换的技术咨询
嗨,我来帮你把这条Docker命令转换成对应的Docker Compose配置,顺便拆解下每个配置项对应的原命令参数~
首先,你给出的这条Docker命令是:
docker run --rm -it --device=nvidia.com/gpu=all ubuntu:latest nvidia-smi
你已经验证过它可以正常运行,输出的nvidia-smi信息如下:
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.78 Driver Version: 550.78 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=++======|
| 0 NVIDIA GeForce RTX 4060 Ti Off | 00000000:01:00.0 Off | N/A |
| 30% 28C P0 26W / 165W | 1M...
对应的Docker Compose配置
下面是和这条命令完全等价的docker-compose.yml配置:
version: '3.8' services: gpu-test: image: ubuntu:latest # 对应原命令的 -it 参数,保持交互式终端会话 stdin_open: true tty: true # 对应原命令的 --device=nvidia.com/gpu=all,配置GPU设备挂载 deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] # 对应原命令末尾的 nvidia-smi,指定容器启动后执行的命令 command: nvidia-smi
如何运行达到和原命令一致的效果
原命令中的--rm参数会在容器退出后自动删除容器,在Docker Compose中,你可以通过加上--rm参数来运行:
docker compose up --rm
运行后你会看到和之前一样的nvidia-smi输出,验证GPU在Compose容器中正常工作。
备注:内容来源于stack exchange,提问作者knpwrs

