Debian11下Docker Compose 1.25.0 GPU配置yaml文件报错求助
问题解决:Docker Compose 1.25.0 GPU配置语法错误
错误原因
你安装的docker-compose 1.25.0属于Compose V1版本,不支持deploy.resources.reservations.devices这种数组对象形式的GPU声明语法——该特性是Compose V2才引入的。V1版本对devices字段仅支持字符串类型,因此触发配置文件无效的报错。
解决方案
方案1:升级到Compose V2(推荐)
- 卸载旧的V1版本
sudo apt remove docker-compose
- 安装Compose V2插件
先更新APT索引:
sudo apt update
再尝试安装官方插件:
sudo apt install docker-compose-plugin
如果Debian11官方源中没有该包,可使用官方脚本安装指定版本:
sudo curl -SL https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
- 验证安装成功
docker compose version
- 运行容器(注意V2命令是
docker compose,而非docker-compose)
docker compose up --build -d
此时你原来的docker-compose.yml配置可以正常使用。
方案2:适配Compose V1的GPU配置语法
如果暂时无法升级,可改用V1支持的runtime方式声明GPU:
services: test: image: nvidia/cuda:12.3.1-base-ubuntu20.04 command: nvidia-smi runtime: nvidia environment: - NVIDIA_VISIBLE_DEVICES=all
然后用原命令运行:
docker-compose up --build -d
内容的提问来源于stack exchange,提问作者dspyz
相关产品推荐
相关产品推荐

