如何在docker-compose.yml中指定使用特定Nvidia GPU设备
在Docker Compose中指定特定ID的Nvidia GPU设备
当然可以指定特定ID的GPU设备,下面分两种场景给出配置方式:
1. Docker Swarm部署场景(对应你当前的deploy配置)
在现有配置基础上,添加device_ids字段,填入你需要的GPU ID即可(比如要使用ID为0和1的GPU):
deploy: resources: reservations: devices: - driver: nvidia capabilities: [gpu] device_ids: ["0", "1"]
配置完成后,容器内执行nvidia-smi只会显示指定的这两块GPU。
2. 单机非Swarm场景(直接用docker-compose up启动)
如果是单机环境,不用Swarm集群,有两种配置方式:
- 方式一:通过环境变量指定
services: 你的服务名: # 其他配置(比如镜像、端口映射等) environment: - NVIDIA_VISIBLE_DEVICES=0,1 deploy: resources: reservations: devices: - driver: nvidia capabilities: [gpu] - 方式二:直接在设备预留中指定device_ids(部分新版本Docker支持)
services: 你的服务名: # 其他配置 deploy: resources: reservations: devices: - driver: nvidia capabilities: [gpu] device_ids: ["0", "1"]
小贴士
宿主机上的GPU ID可以通过执行nvidia-smi命令查看,输出里GPU列的数字就是对应设备的ID。
内容的提问来源于stack exchange,提问作者gameveloster
相关产品推荐
相关产品推荐

