Linux(ubuntu) GPU CUDA 构建Docker镜像

devtools/2025/2/24 22:55:03/

一、创建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.ppmy.cn/devtools/161447.html

相关文章

Nginx:服务架构中不可或缺的基础组件

基本所有的服务架构中,Nginx 都是不可或缺的基础组件: HTTP 负载均衡,将请求转发到后端 API 服务器。健康检查,将后端无法服务的节点移除。配置 HTTPS ,增强安全性。静态服务器,随着前后端分离&#xff0c…

《跟李沐学 AI》AlexNet论文逐段精读学习心得 | PyTorch 深度学习实战

前一篇文章,使用 AlexNet 实现图片分类 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 本篇文章内容来自于学习 9年后重读深度学习奠基作之一:AlexNet【下】【论文精读】】的心得。 《跟李沐…

Unity 位图字体

下载Bitmap Font Generator BMFont - AngelCode.com 解压后不用安装直接双击使用 提前设置 1、设置Bit depth为32 Options->Export options 2、清空所选字符 因为我们将在后边导入需要的字符。 Edit->Select all chars 先选择所有字符 Edit->Clear all chars i…

Web项目测试专题(七)安全性测试

概述: 安全性测试旨在确保Web应用在设计和实现过程中能够抵御各种安全威胁,保护用户数据和系统资源。 步骤: 身份验证和授权:测试用户登录、权限管理和会话管理机制,确保只有授权用户能够访问特定资源。 数据加密…

Java 阻塞队列:让并发更“懂事”

阻塞队列的常见方法 阻塞队列的一些常用方法就是让你在多线程操作时轻松控制数据流。让我们看几个经典的方法: put(E e) 这个方法会将元素 e 放入队列中。如果队列已满,它会阻塞当前线程直到队列有空间可用。 大家好,今天我们来聊一聊 Jav…

【落羽的落羽 数据结构篇】栈和队列

文章目录 一、栈1. 概念2. 栈操作2.1 定义栈结构2.2 栈的初始化2.3 入栈2.4 出栈2.5 取栈顶元素 3. 栈的使用实例 二、队列1. 概念2. 队列操作2.1 定义队列结构2.2 入队列2.3 出队列2.4 销毁队列 三、用队列实现栈四、用栈实现队列 一、栈 1. 概念 栈(stack&#…

flink operator v1.10部署flink v1.19.2

1 概述 flink集群能对接kubernetes、yarn等集群管系统,本文介绍flink对接kubernetes。 flink kubernetes operator(网址:https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-release-1.10/docs/concepts/overview/&#xf…

骁勇善战的量化利器:多因子模型【量化理论】

我叫补三补四,很高兴见到大家,欢迎一起学习交流和进步 今天来讲一讲alpha策略制定后的测试问题 风险模型雏形 股票因子受多种因素影响,其价格由多种因素决定,所谓的多因子策略就是要发掘诸如此类的因子,以一种合理的方…