docker打包
docker打包
文件组织
-maker_docker
--dockerfile
--requirement.txt
dockerfile
# 使用指定的 CUDA 基础镜像
FROM nvcr.io/nvidia/cuda:12.8.1-cudnn-devel-ubuntu22.04
# 设置环境变量以避免一些交互提示
ENV DEBIAN_FRONTEND=noninteractive
# 设置apt镜像源(Ubuntu 22.04)
RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse" > /etc/apt/sources.list && \
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse" >> /etc/apt/sources.list
# 更新包列表并安装必要依赖项,包括 Python 和 pip
RUN apt-get update && \
apt-get install -y --no-install-recommends \
python3 \
python3-pip \
python3-venv \
curl \
build-essential \
git \
&& rm -rf /var/lib/apt/lists/* \
# 配置 pip 使用阿里云镜像源
RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple && \
pip config set global.trusted-host mirrors.aliyun.com
# 安装或升级 pip
RUN python3 -m pip install --upgrade pip
# 安装 uv(使用 pip)
RUN pip install uv
# 设置 UV 默认索引源(通过环境变量,确保生效)
ENV UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple
# 设置工作目录
WORKDIR /app
# 复制你的 requirements.txt 文件到容器内
COPY requirements.txt .
# 使用 uv 创建新的虚拟环境并安装所有依赖
RUN uv venv /opt/venv --python 3.12 --seed
# 设置环境变量来使用创建的虚拟环境
ENV VIRTUAL_ENV=/opt/venv
ENV PATH="/opt/venv/bin:$PATH"
RUN uv pip install -r requirements.txt
# 暴露必要的端口(根据你的服务配置)
EXPOSE 8000
requirements.txt
qwen-asr[vllm]
浙公网安备 33010602011771号