【保姆级】| 基于Docker的AI开发环境(CUDA+Pytorch)部署
·
基于Docker的AI开发环境(CUDA+PyTorch)部署指南
本教程提供从零开始的保姆级部署流程,支持GPU加速的深度学习开发环境。
前置准备
-
硬件要求
- NVIDIA显卡(支持CUDA)
- 显存 ≥ 4GB(推荐8GB+)
- 存储空间 ≥ 20GB
-
软件要求
步骤1:安装NVIDIA容器工具包
# 添加软件源
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
# 安装工具包
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
步骤2:拉取PyTorch官方镜像
# 拉取预装CUDA 11.8和PyTorch 2.0的镜像
docker pull pytorch/pytorch:2.0.1-cuda11.8-cudnn8-runtime
# 验证镜像
docker run --gpus all --rm pytorch/pytorch:2.0.1-cuda11.8-cudnn8-runtime nvidia-smi
✅ 成功标志:显示GPU信息表格(含Driver/CUDA版本)
步骤3:创建持久化开发容器
# 启动容器(挂载本地目录)
docker run -itd --gpus all \
--name pytorch_dev \
-v ~/ai_projects:/workspace \ # 挂载项目目录
-p 8888:8888 \ # Jupyter端口
pytorch/pytorch:2.0.1-cuda11.8-cudnn8-runtime
# 进入容器
docker exec -it pytorch_dev bash
步骤4:容器内环境验证
在容器内执行:
# 启动Python解释器
python
>>> import torch
>>> print(torch.__version__) # 应输出 2.0.1
>>> print(torch.cuda.is_available()) # 应输出 True
>>> print(torch.rand(3,3).cuda()) # 应输出GPU张量
输出示例:
tensor([[0.4821, 0.4157, 0.2309],
[0.1396, 0.7930, 0.2416],
[0.9539, 0.1234, 0.8521]], device='cuda:0')
步骤5:可选组件安装
# 在容器内安装常用工具
pip install jupyterlab matplotlib scikit-learn pandas
jupyter lab --ip=0.0.0.0 --allow-root # 启动Jupyter
# 浏览器访问:http://localhost:8888
常见问题排查
| 问题现象 | 解决方案 |
|---|---|
docker: Error response from daemon... | 执行 sudo systemctl restart docker |
CUDA unavailable | 检查宿主机NVIDIA驱动版本与容器CUDA版本兼容性 |
| 端口冲突 | 更改 -p 参数(如 -p 8899:8888) |
| 存储空间不足 | 清理镜像:docker system prune -a --volumes |
环境使用建议
-
开发流程
- 代码编辑:在挂载的
~/ai_projects中使用本地IDE - 训练执行:在容器内运行
python train.py - 数据管理:挂载数据集目录
-v /datasets:/data
- 代码编辑:在挂载的
-
镜像管理
# 保存自定义镜像 docker commit pytorch_dev my_custom_pytorch # 导出镜像 docker save -o pytorch_env.tar my_custom_pytorch
注:完整Dockerfile构建方案见PyTorch官方仓库
更多推荐
所有评论(0)