logo
0
0
WeChat Login
echonlab<aigc@echonlab.com>
feat: 初始化AIGC开发环境Docker镜像

AIGC Development Environment Docker

一个包含完整AIGC开发环境的Docker镜像,集成了Conda、CUDA、PyTorch、FlashAttention、Node.js和Claude Code等工具。

🚀 特性

  • 操作系统: Ubuntu 22.04
  • CUDA: 12.1 + cuDNN 8
  • Python: 3.11 (Miniconda)
  • PyTorch: 2.2.1 (支持CUDA 12.1)
  • FlashAttention: 2.x
  • Node.js: 20.x LTS
  • Claude Code: 最新版本

📦 预装库

深度学习框架

  • PyTorch, TorchVision, TorchAudio
  • Transformers, Accelerate, PEFT
  • xFormers, FlashAttention, bitsandbytes

数据处理

  • NumPy, Pandas, SciPy
  • OpenCV, Pillow
  • Datasets, Tokenizers

可视化与UI

  • Matplotlib, Seaborn
  • TensorBoard, W&B
  • Gradio, Streamlit

Web开发

  • FastAPI, Uvicorn
  • JupyterLab, Notebook

🛠️ 构建镜像

# 构建镜像 docker build -t aigc-env:latest . # 使用BuildKit加速构建 DOCKER_BUILDKIT=1 docker build -t aigc-env:latest .

🏃 运行容器

基础运行

docker run -it --gpus all aigc-env:latest

完整运行(推荐)

docker run -it --gpus all \ -v $(pwd)/workspace:/workspace \ -v $(pwd)/data:/workspace/data \ -v $(pwd)/models:/workspace/models \ -p 8888:8888 \ -p 6006:6006 \ -p 7860:7860 \ -p 8000:8000 \ -p 8501:8501 \ --name aigc-dev \ --shm-size=16g \ aigc-env:latest

启动JupyterLab

docker run -it --gpus all \ -v $(pwd)/workspace:/workspace \ -p 8888:8888 \ --shm-size=16g \ aigc-env:latest \ jupyter lab

📂 目录结构

/workspace/ ├── data/ # 数据文件 ├── models/ # 模型文件 ├── outputs/ # 输出结果 ├── scripts/ # 脚本文件 └── notebooks/ # Jupyter notebooks

🔧 常用命令

检查GPU状态

nvidia-smi python -c "import torch; print(f'CUDA: {torch.cuda.is_available()}, Devices: {torch.cuda.device_count()}')"

启动服务

# JupyterLab jupyter lab --ip=0.0.0.0 --port=8888 --allow-root # TensorBoard tensorboard --logdir=./logs --bind_all # Gradio应用 python app.py # 默认端口7860 # FastAPI服务 uvicorn main:app --host 0.0.0.0 --port 8000

使用Claude Code

# 设置API密钥 export ANTHROPIC_API_KEY="your-api-key" # 启动Claude Code claude

🔌 端口说明

端口服务
8888JupyterLab
6006TensorBoard
7860Gradio
8000FastAPI
8501Streamlit

⚙️ 环境变量

# CUDA CUDA_HOME=/usr/local/cuda LD_LIBRARY_PATH=$CUDA_HOME/lib64 # Conda CONDA_DIR=/opt/conda PATH=/opt/conda/bin:$PATH # 时区 TZ=Asia/Shanghai

📝 自定义配置

安装额外的Python包

pip install your-package # 或 conda install your-package

创建新的conda环境

conda create -n myenv python=3.11 conda activate myenv

🐛 故障排除

GPU不可用

  1. 确保安装了NVIDIA Docker运行时
  2. 使用 --gpus all 参数运行容器
  3. 检查驱动版本是否兼容
# 安装nvidia-docker2 distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - 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-docker2 sudo systemctl restart docker

共享内存不足

使用 --shm-size=16g 或更大的值运行容器。

FlashAttention编译问题

确保CUDA版本和PyTorch版本兼容,本镜像已预编译FlashAttention。

📄 License

MIT License

🤝 贡献

欢迎提交Issue和Pull Request!

About

AIGC Development Environment Docker Image with Conda CUDA PyTorch FlashAttention NodeJS Claude Code

Language
Dockerfile83.6%
Shell16.4%