Dockerfile

# Use ubuntu:20.04 base image
# FROM nvidia/cuda:11.8.0-base-ubuntu20.04
FROM nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu20.04

# 定义一个构建参数
ARG WORK_DIR
# 设置工作目录
WORKDIR $WORK_DIR

# 设置编码
ENV LANG C.UTF-8

# 设置时区
ENV DEBIAN_FRONTEND noninteractive
ENV TZ=Asia/Shanghai
RUN sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list && \
    sed -i s/security.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list && \
    apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y tzdata && \
    ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \
    dpkg-reconfigure -f noninteractive tzdata


# 安装apt依赖
RUN apt-get install -y wget screen git ffmpeg iputils-ping psmisc vim && \
    apt-get clean


# 安装conda
RUN mkdir -p ~/miniconda3 && \
    wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh && \
    bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 && \
    rm ~/miniconda3/miniconda.sh && \
    ~/miniconda3/bin/conda init bash



# 安装pip依赖包
RUN . ~/.bashrc && \
    conda activate base && \
    conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main && \
    conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r && \
    pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && \
    conda install python=3.10 -y && \
    pip install fastapi uvicorn python-multipart aiofiles aiohttp pydub \
    modelscope==1.13.3 \
    numpy==1.24.1 \
    transformers==4.30.0 \
    datasets==2.18.0  \ 
    langchain_milvus \
    modelscope \
    torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 -f https://mirrors.aliyun.com/pytorch-wheels/cu121/ && \
    pip cache purge




# # 安装pip依赖包
# RUN . ~/.bashrc && \
#     conda activate base && \
#     pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && \
#     conda install python=3.10 -y && \
#     pip install fastapi uvicorn pydub pika pandas aiofiles \ 
#     torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 \
#     modelscope==1.13.3 \
#     numpy==1.24.1 transformers==4.30.0 \
#     datasets==2.18.0 python-docx python-multipart \ 
#     # aiofiles funasr==1.1.9\
#     unstructured==0.13.2 unstructured[pptx] pypdfium2 pdf2image \ 
#     langchain langchain-community chardet langchain_milvus oss2 modelscope -f https://mirrors.aliyun.com/pytorch-wheels/cu118/ && \
#     python -c "import nltk; import ssl;create_unverified_https_context=ssl._create_unverified_context;nltk.download('punkt_tab');nltk.download('averaged_perceptron_tagger_eng')"  && \
#     pip cache purge






install_img_contain.sh


NAME="a2f"

# 构建镜像
NAME_IMAGE=$NAME
NAME_CONTAINER=$NAME

WORKPATH=$(pwd)
# 构建镜像,传递 WORK_DIR 参数
docker build -t $NAME_IMAGE --build-arg WORK_DIR=$WORKPATH .

docker create --init \
    --gpus all \
    --network=host \
    --ipc=host \
    --name=$NAME_CONTAINER -v $WORKPATH:$WORKPATH -it $NAME_IMAGE /bin/bash


docker start $NAME_CONTAINER

# docker stop rag
# docker start rag
# docker exec -it rag bash
# bash run_app.sh



更多推荐