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

发布于:2025-06-25 ⋅ 阅读:(30) ⋅ 点赞:(0)

🚀 从零搭建 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
Python 3.11
PyTorch 2.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

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

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


📌 你可能还想看


网站公告

今日签到

点亮在社区的每一天
去签到