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

Docker环境CUDA不可用:如何配置Python3.8.10+PyTorch调用GPU

问题分析与解决方案

缺失的配置

  1. 基础镜像无CUDA运行时环境:你使用的python:3.8.10是普通Python镜像,未预装CUDA runtime、cuDNN等GPU依赖库,PyTorch的CUDA版本必须依赖系统级的CUDA环境才能调用GPU。
  2. 容器未启用GPU访问权限:启动容器时未配置GPU暴露,Docker默认不会将主机GPU资源分配给容器。

正确构建与运行步骤

1. 主机前提配置

确保主机已安装nvidia-docker2(用于支持Docker容器访问GPU):

sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

2. 修改Dockerfile

基于NVIDIA官方的CUDA镜像构建(匹配主机CUDA 11.4、Ubuntu 20.04环境):

# 选择匹配主机环境的NVIDIA CUDA runtime镜像
FROM nvidia/cuda:11.4.3-cudnn8-runtime-ubuntu20.04

# 安装Python3.8及相关工具
RUN apt-get update && apt-get install -y python3.8 python3-pip python3.8-venv
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1

# 创建并激活虚拟环境
RUN python3 -m venv /venv
ENV PATH="/venv/bin:$PATH"

# 升级pip并安装指定版本的PyTorch、Jupyter
RUN pip install --upgrade pip
RUN pip install torch==1.13.1+cu117 -f https://download.pytorch.org/whl/torch_stable.html
RUN pip install notebook

EXPOSE 8873

WORKDIR /app
COPY . /app

CMD ["jupyter", "notebook", "--ip=0.0.0.0", "--port=8873", "--no-browser", "--allow-root"]

3. 构建并启动容器

# 构建镜像
sudo docker build -t myimagenew .

# 启动容器,添加GPU访问参数
sudo docker run --gpus all -p 8873:8873 myimagenew

验证

在容器内的Jupyter中运行测试代码,即可得到torch.cuda.is_available() = True的输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 07:12:28