当前位置: 首页 > news >正文

Linux(ubuntu) GPU CUDA 构建Docker镜像

一、创建Dockerfile

FROM ubuntu:20.04

#非交互式,以快速运行自动化任务或脚本,无需图形界面
ENV DEBIAN_FRONTEND=noninteractive

# 安装基础工具
RUN apt-get update && apt-get install -y \
    curl \
    wget \
    git \
    build-essential \
    software-properties-common \
        python3.8 \
    python3-pip \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

RUN apt-get update && apt-get install -y python3-pip
# 更新 pip 和 setuptools
#RUN python3 -m pip install --upgrade pip setuptools

# 添加 NVIDIA CUDA 密钥和仓库
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC \
    && echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" > /etc/apt/sources.list.d/cuda.list

# 安装 CUDA 和 cuDNN
RUN apt-get update && apt-get install -y --no-install-recommends \
    cuda-toolkit-12-4 \
    libcudnn8 \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# 设置 Python 3.8 为默认 Python 版本
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1

# 安装gpu torch
RUN pip install --timeout=100000 torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 \
    --index-url https://download.pytorch.org/whl/cu124 \
    -i https://mirrors.aliyun.com/pypi/simple

注意:cuda-toolkit以及torch相关的版本与cuda的版本都要相匹配,否则会安装失败。有其他需求则可自行更改Dockerfile文件。

二、启动容器并验证

启动容器:docker run -it --name 你的容器名称 --gpus all  你的镜像ID /bin/bash

查看显卡信息:nvidia-smi

验证GPU是否可用:python3 -c "import torch; print(torch.cuda.is_available())"

http://www.dtcms.com/a/29493.html

相关文章:

  • 【PyQt5】python可视化开发:PyQt5介绍,开发环境搭建快速入门
  • Linux-C/C++《C/8、系统信息与系统资源》
  • 抓包工具是什么?
  • 深入解析浏览器渲染全流程:从URL输入到页面渲染的底层原理与性能优化(附实战代码)
  • Memcached和redis对比了解
  • Python—requests模块
  • excel导入Mysql中时间格式异常
  • 深度学习笔记—— GRU(Gated Recurrent Unit)
  • 【设计模式精讲】创建型模式之单例模式(饿汉式、懒汉式、双重校验、静态内部类、枚举)
  • Node IO操作
  • 【阮一峰】2.数组
  • vue3 input type=“file” 修改样式
  • 深入理解Zookeeper:分布式系统的协调者
  • 三、Three.js模型对象、材质
  • 网络运维学习笔记 012网工初级(HCIA-Datacom与CCNA-EI)某机构新增:GRE隧道与EBGP实施
  • 16Linux运维网络基础(02网络层次结构)
  • spring注解开发(纯注解开发模式)(2)
  • MobaXterm通过ssh远程连接Ubuntu的方法
  • 【重磅发布】OmniParser V2-开启GUI自动化新时代
  • 【Python爬虫(26)】Python爬虫进阶:数据清洗与预处理的魔法秘籍
  • LeetCode 热题 100_搜索插入位置(63_35_简单_C++)(二分查找)(”>>“ 与 “/” 对比)
  • 3、Kubernetes 集群部署 Prometheus 和 Grafana
  • Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
  • 有向图的强连通分量: Kosaraju算法和Tarjan算法详解
  • Flink CDC详解
  • 【Python】迭代器与生成器详解,附代码(可迭代对象、定义、实现方式、区别、使用场景)
  • 深入理解 SQL 注入漏洞及解决方案
  • 56. 合并区间 (LeetCode 热题 100)
  • 十大排序算法
  • Java-11