Docker安装gpu镜像、容器
·
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
更多推荐
所有评论(0)