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

开启GPU访问后docker-compose up启动容器卡住的原因排查

容器启用GPU配置后启动卡住的解决办法

排查与修复步骤

  • 验证Docker GPU运行环境
    在主机终端执行docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi,如果能正常输出GPU硬件信息,说明Docker的GPU runtime没问题;如果报错,先修复基础环境:安装nvidia-docker2,确保/etc/docker/daemon.json包含"default-runtime": "nvidia",然后重启Docker服务(systemctl restart docker)。

  • 修正docker-compose的GPU配置格式
    原配置缺少驱动指定,容易导致识别异常,改成以下明确写法:

    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    

    单GPU场景也可以指定设备ID:

    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              device_ids: ['0']
              capabilities: [gpu]
    
  • 查看容器启动日志定位问题
    执行docker logs -f pose-estimation-tests-app-1,查看容器启动时的报错信息,比如GPU驱动版本不兼容、权限不足,或者test.py在GPU环境下出现执行异常。

  • 匹配TensorFlow镜像与主机CUDA版本
    tensorflow/tensorflow:latest-gpu的CUDA版本可能和主机NVIDIA驱动不匹配。先通过nvidia-smi查看主机支持的CUDA版本,再选择对应版本的TensorFlow镜像,比如主机CUDA为11.8时,使用tensorflow/tensorflow:2.15.0-gpu(该版本对应CUDA 11.8)。

  • 降级使用runtime字段(适配低版本Docker Compose)
    如果Docker Compose版本低于2.0,deploy字段的GPU配置可能不生效,改用runtime字段:

    services:
      app:
        build: .
        volumes:
          - .:/project
        runtime: nvidia
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 00:47:10