You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Docker Compose的服务构建指令中启用GPU?

Docker Compose构建阶段启用GPU的解决方案

Docker Compose的build块确实没提供原生的GPU配置选项,毕竟构建环节默认用的是常规Docker构建环境,不会自动挂载GPU设备。要让构建过程用上GPU,有两个实用方案:

方案1:手动用Docker命令带GPU支持构建,再在Compose里用镜像

先单独构建带GPU支持的镜像,再修改Compose配置直接引用:

  1. 执行构建命令:
docker build --gpus all -t my-app-image .
  1. 更新docker-compose.yml:
version: '3'

services:
  app:
    image: my-app-image
    shm_size: 4gb
    # 如果运行时也需要GPU,保留这段配置
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
# ...

方案2:用nvidia-docker配合BuildKit在Compose里完成构建

要是想保留在Compose里触发构建的流程,可以借助nvidia-docker和BuildKit实现:

  1. 先确保系统装了nvidia-docker工具
  2. 调整docker-compose.yml的build参数:
version: '3'

services:
  app:
    build:
      context: .
      args:
        - NVIDIA_VISIBLE_DEVICES=all
    shm_size: 4gb
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
# ...
  1. 执行构建时指定用BuildKit和nvidia-docker:
DOCKER_BUILDKIT=1 docker-compose build --build-arg NVIDIA_VISIBLE_DEVICES=all

注意点

  • 构建阶段要用到GPU,核心是让构建容器能访问GPU设备,所以必须依赖nvidia-docker runtime或者BuildKit的GPU支持
  • Docker Compose的build字段本身不支持GPU配置,只能通过上述两种方式绕开这个限制

内容的提问来源于stack exchange,提问作者Da Tong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:57:28