Ubuntu20.04新安装Docker后docker-compose报不支持runtime配置项错误
报错根因
你当前使用的Docker Compose版本与配置的docker-compose.yml版本规范不匹配:
- 3.x版本的Compose文件是为Swarm集群模式设计的,默认不支持单机模式下的
runtime字段 - 你新安装的Docker默认搭载Compose V2(对应命令为不带横杠的
docker compose),旧系统使用的是Compose V1(对应docker-compose),对配置字段的兼容逻辑不同
解决方案
- 方案1:调整Compose文件版本(最快捷)
把docker-compose.yml第一行的版本号改为2.4,该版本原生支持单机模式的runtime字段,其余配置无需修改:
version: '2.4' services: test: image: nvidia/cuda:11.0-base command: nvidia-smi runtime: nvidia
修改后执行docker-compose up --build即可正常运行。
- 方案2:使用3.x版本兼容的GPU配置
如果需要保留3.x版本的配置规范,删除runtime: nvidia字段,替换为Docker官方推荐的GPU资源声明写法:
version: '3' services: test: image: nvidia/cuda:11.0-base command: nvidia-smi deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu]
修改后执行docker compose up --build(注意不带横杠,使用Compose V2命令)即可。
- 方案3:设置Nvidia为Docker默认运行时
如果后续所有容器都需要使用Nvidia runtime,可修改Docker配置文件/etc/docker/daemon.json,添加以下内容:
{ "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia" }
配置完成后执行sudo systemctl restart docker重启Docker服务,此时无需在docker-compose.yml中声明runtime字段即可正常调用GPU。
内容的提问来源于stack exchange,提问作者Vishnuprasad Prachandabhanu
相关产品推荐
相关产品推荐

