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

✨从零搭建 Ubuntu22.04 + Python3.11 + PyTorch2.5.1 GPU Docker 镜像并上传 Docker Hub

🚀 从零搭建 Ubuntu22.04 + Python3.11 + PyTorch2.5.1 GPU Docker 镜像并上传 Docker Hub

在 AI 项目开发中,构建统一的运行环境是一件非常重要的事情。使用 Docker 可以极大地提升部署效率、保证环境一致性。本文将手把手带你:

  • ✅ 构建一个基于 CUDA 12.4 + Ubuntu 22.04 的 GPU 镜像
  • ✅ 安装 Python 3.11 + PyTorch 2.5.1
  • ✅ 安装本地 .whl 依赖包及项目依赖
  • ✅ 上传到 Docker Hub 并验证可用性!

🧠 适用场景

  • 使用 PyTorch 开发深度学习模型
  • 使用 CUDA GPU 加速推理与训练
  • 需要将环境封装为容器镜像,方便部署或分享
  • 想将镜像公开发布到 Docker Hub

📦 环境准备

环境项版本/说明
基础镜像nvidia/cuda:12.4.0-devel-ubuntu22.04
Python3.11
PyTorch2.5.1(CUDA 12.4)
镜像目标名yangjinyanxian/wan2.1:ubt2204-cu124-py311-pt251
构建工具Docker CLI + Docker Hub 账号

🧱 Step 1:编写 Dockerfile

创建一个名为 Dockerfile 的文件,内容如下:

FROM nvidia/cuda:12.4.0-devel-ubuntu22.04# 创建项目目录
RUN mkdir -p /wan2.1
WORKDIR /wan2.1# 拷贝本地项目代码
COPY wan2.1 /wan2.1# 安装 Python 3.11 及依赖
RUN apt-get update && apt-get install -y \python3.11 python3.11-venv python3.11-dev python3-pip \build-essential cmake git curl wget libgl1-mesa-glx# 升级 pip 并使用 Python3.11
RUN python3.11 -m pip install --upgrade pip# 安装基础 Python 包
RUN pip install packaging modelscope "xfuser>=0.4.1" \-i https://pypi.tuna.tsinghua.edu.cn/simple# 安装 PyTorch + CUDA 12.4 版本
RUN pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 \--index-url https://download.pytorch.org/whl/cu124 \--extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple# 安装本地 flash-attn .whl 包
RUN pip install /wan2.1/flash_attn-2.8.0.post2+cu12torch2.5cxx11abiFALSE-cp311-cp311-linux_x86_64.whl# 安装项目 requirements.txt 中的依赖
RUN pip install -r /wan2.1/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

🧪 Step 2:构建 Docker 镜像

Dockerfile 所在目录打开终端,执行以下命令:

docker build -t wan2.1:ubt2204-cu124-py311-pt251 .

📌 注意事项

  • 下载 PyTorch 的 CUDA wheel 需要一定时间;
  • 可以使用清华源避免超时下载失败;
  • 如果遇到 .whl 下载中断,可使用 --resume-retries 恢复下载。

🏷️ Step 3:打标签为 Docker Hub 镜像名

Docker Hub 镜像名的格式是:用户名/仓库名:标签,务必使用 小写字母

docker tag wan2.1:ubt2204-cu124-py311-pt251 yangjinyanxian/wan2.1:ubt2204-cu124-py311-pt251

🔐 Step 4:登录 Docker Hub

docker login

输入你的用户名和密码即可。


☁️ Step 5:推送镜像至 Docker Hub

docker push yangjinyanxian/wan2.1:ubt2204-cu124-py311-pt251

推送成功后,你可以在浏览器打开查看:

🔗 https://hub.docker.com/r/yangjinyanxian/wan2.1


🧪 Step 6:验证镜像是否可用

我们启动一个容器进行测试:

docker run -it --rm --gpus all yangjinyanxian/wan2.1:ubt2204-cu124-py311-pt251 bash

在容器中运行以下命令:

python3.11 -c "import torch; print(torch.cuda.is_available())"

若输出为 True,说明 CUDA 环境安装成功,PyTorch GPU 支持正常 ✅


📁 项目结构示例

确保你的目录结构如下:

.
├── Dockerfile
└── wan2.1├── flash_attn-2.8.0.post2+cu12torch2.5cxx11abiFALSE-cp311-cp311-linux_x86_64.whl├── requirements.txt└── (其他项目代码)

🧩 常见问题 FAQ

❓ Q: 镜像构建失败,下载不完整怎么办?

A: PyTorch wheel 文件体积较大,建议使用国内镜像源如 TUNA,或在 Dockerfile 中加入 --resume-retries 参数尝试断点续传。


✅ 总结

通过本文,你已经学会了如何:

  • 构建一个带 GPU 支持的深度学习开发镜像;
  • 使用 PyTorch 2.5.1(CUDA 12.4)环境;
  • 发布并托管 Docker 镜像至 Docker Hub;
  • 验证 GPU 环境正常运行!

🎉 这将极大提升你的项目部署效率,尤其是在多人协作或跨平台部署场景中。


📣 使用说明 — Docker 镜像 yangjinyanxian/wan2.1:ubt2204-cu124-py311-pt251

镜像简介

这是基于 nvidia/cuda:12.4.0-devel-ubuntu22.04 的深度学习环境,包含:

  • Python 3.11
  • PyTorch 2.5.1 (CUDA 12.4 版本)
  • 其他依赖包和你项目里的库

适合需要 CUDA 12.4 + PyTorch 2.5.1 的环境。


使用前提

  • 已安装 Docker(推荐 20.10+ 版本)
  • NVIDIA GPU + 已安装 NVIDIA Container Toolkit,支持 GPU 加速
  • 可访问 Docker Hub

拉取镜像

docker pull yangjinyanxian/wan2.1:ubt2204-cu124-py311-pt251

运行镜像(交互式终端)

docker run --gpus all -it --rm yangjinyanxian/wan2.1:ubt2204-cu124-py311-pt251 /bin/bash
  • --gpus all:启用所有 GPU 资源
  • -it:交互式终端
  • --rm:退出后删除容器,节省空间

挂载本地目录(示例)

如果你需要访问本地代码或数据,比如本地的 /home/user/project

docker run --gpus all -it --rm -v /home/user/project:/workspace yangjinyanxian/wan2.1:ubt2204-cu124-py311-pt251 /bin/bash

容器内路径 /workspace 即为你本地目录。


运行你的 Python 脚本

容器内直接执行:

python3.11 your_script.py

其他说明

  • 镜像内已预装项目依赖(详见 requirements.txt
  • 需要安装额外包可在容器内使用 pip install
  • 退出容器使用 exitCtrl+D

如果你在使用过程中遇到问题或有改进建议,欢迎留言交流!

📣 欢迎点赞 👍 收藏 ⭐ 留言交流 💬!


📌 你可能还想看

  • ✨通义万相2.1深度解析:AI视频生成引擎FLF2V-14B全流程指南(命令行参数+模型架构+数据流)
  • ✨通义万相 2.1(Wan2.1)环境搭建指南:基于 CUDA 12.4 + Python 3.11 + PyTorch 2.5.1 GPU加速实战
  • ✨自定义 CUDA 与 Python 容器:实现 Diffusers 和 vLLM 大模型极速推理

相关文章:

  • 网站建设合作网站建设开发简介
  • 品牌设计有限公司seo综合查询是什么意思
  • 怎样看出一个网站是那个公司做的东莞疫情最新消息今天新增病例
  • 木藕设计网站大全郑州关键词排名顾问
  • 出口外贸营销网站2023年8月新冠疫情
  • 深圳网站制作济南短视频营销推广策略
  • C# WinForm跨平台串口通讯实现
  • RFID馆员工作站DW312-A|全国已经规模化应用
  • linux实时同步工具sersync
  • 利用 Python 脚本批量查找并删除指定 IP 的 AWS Lightsail 实例
  • FunASR搭建语音识别服务和VAD检测
  • 第23篇:OpenEuler 24.03系统下的备份与还原技术详解
  • 从牛顿流体到弹性固体:旋转流变仪的高精度流变特性测定与工业应用
  • WebRTC(九):JitterBuffer
  • web布局16
  • Android 开发问题:bluetoothLeScanner.startScan(scanCallback); 扫描不到设备
  • 使用 PyAEDT 设计参数化对数周期偶极子天线 LPDA
  • OSS与NAS混合云存储架构:非结构化数据统一管理实战
  • 【Java高频面试问题】数据库篇
  • Drag-and-Drop LLMs: Zero-Shot Prompt-to-Weights
  • Windows10的任务栏时间显示秒 笔记250624
  • vue3+echarts实现tab切换多个图表
  • redis的安装及操作
  • 数据库AICD特性之--一致性 Consistency
  • 大语言模型训练中的自监督学习和其他训练方式
  • 【技术难题】el-table的全局数据排序实现示例,不受分页影响,以及异步请求带来的页面渲染问题