一、整体流程(最清晰版)
本地打包镜像 → 上传到服务器 → 服务器加载镜像 → 挂载模型目录 → 启动容器 → 运行成功二、完整部署步骤(照着执行即可)
1.本地:把你的 AI 项目打包成 Docker 镜像(cmd->项目根目录下执行)
根目录必须要有两个文件Dockerfile和requirements.txt
Dockerfile文件
FROM python:3.10-slim WORKDIR /app COPY requirements.txt . # 清理系统源 + 只使用阿里云 RUN rm -rf /etc/apt/sources.list.d/* && \ echo "deb http://mirrors.aliyun.com/debian bookworm main contrib non-free" > /etc/apt/sources.list && \ echo "deb http://mirrors.aliyun.com/debian-security bookworm-security main contrib non-free" >> /etc/apt/sources.list && \ echo "deb http://mirrors.aliyun.com/debian bookworm-updates main contrib non-free" >> /etc/apt/sources.list && \ apt-get update --fix-missing && \ apt-get install -y ffmpeg && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # 安装 Python 依赖 RUN pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple # 复制全部代码 COPY . . # 启动端口 EXPOSE 8001 # 启动命令(你自己项目的启动文件,一般是 app.py) CMD ["python", "app.py"]requirements.txt文件
fastapi==0.135.2 uvicorn==0.42.0 pydantic==2.12.5 apscheduler==3.11.2 requests==2.32.5 urllib3==2.6.3 librosa==0.11.0 numpy==2.2.5 pydub==0.25.1 torch==2.5.0+cu124 scipy==1.15.3 soundfile==0.13.1 transformers==5.3.0 funasr==1.3.1 qwen-vl-utils==0.0.14 loguru==0.7.32.执行(创建镜像)
docker build --platform linux/amd64 -f Dockerfile -t ly-video-insight:1.0 .3.下载镜像
docker save -o D:\ly-video-analysis.tar ly-video-analysis:1.14.上传到服务器
scp -r D:\夸克下载\vl-models\models\models ubuntu@192.168.9.34:/home/ubuntu/5.进入Docker
sudo -i6.docker加载镜像
docker load -i /home/ubuntu/ly-video-insight.tar7.检查镜像
docker images8.运行镜像
# 没有gpu运行 docker run --name ly-video-analysis -p 6006:6006 -v /home/ubuntu/models:/app/models -d ly-video-analysis:1.2 # gpu运行 docker run --name ly-video-analysis \ --gpus all \ -p 6006:6006 \ -v /home/ubuntu/models:/app/models \ -d ly-video-analysis:1.2临时进入容器内部调试
docker run -it --entrypoint=/bin/bash -p 6006:6006 ly-video-analysis:1.3调试好需要重新更新一下镜像
1.使用 `docker commit` 将容器转化为镜像
docker commit [容器ID或容器名称] [新镜像名称:标签] docker commit my_container my_backup_image:latest # 查看生成的镜像 docker images2.使用 `docker save` 和 `docker load` 进行镜像迁移
docker save -o [保存路径] [镜像名称:标签] docker save -o /path/to/backup/my_backup_image.tar my_backup_image:latest 从文件恢复镜像 docker load -i [备份文件路径] docker load -i /path/to/backup/my_backup_image.tar服务器没有Docker或者Docker没有GUP的解决方案
简单的安装Docker,不带GPU的
apt update apt install -y docker.io 重启Docker才会成功 systemctl restart docker如果需要安装带GPU需要
1.清理所有错误的源和旧包
# 清理错误的 nvidia 源 rm -f /etc/apt/sources.list.d/nvidia-docker.list rm -f /etc/apt/sources.list.d/docker.list # 卸载冲突包 apt remove -y docker.io nvidia-docker2 nvidia-container-toolkit libnvidia-container1 apt autoremove -y2.安装正确的 NVIDIA 容器工具包(现代版,无 apt-key 警告)
# 安装依赖 apt update apt install -y curl gpg # 添加正确的 GPG 密钥(新版方式) curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg # 添加正确的源(自动适配你的 Ubuntu 版本) curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | tee /etc/apt/sources.list.d/nvidia-container-toolkit.list3.安装并配置容器工具包
apt update apt install -y nvidia-container-toolkit4.配置 Docker 使用 NVIDIA 运行时
nvidia-ctk runtime configure --runtime=docker5.重启 Docker(关键!)
systemctl restart docker6.验证 GPU 是否可用(测试命令)
docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi✅出现显卡信息 = 成功
7.重新运行你的容器
docker run --name ly-video-analysis \ --gpus all \ -p 6006:6006 \ -v /home/ubuntu/models:/app/models \ -d ly-video-analysis:1.2