🚀 從零搭建 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 大模型極速推理