🚀 从零搭建 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
- 退出容器使用
exit
或Ctrl+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 大模型极速推理