from參考這個(gè)網(wǎng)站
FROM nvcr.io/nvidia/cuda:12.3.2-cudnn9-devel-ubuntu20.04
https://catalog.ngc.nvidia.com/orgs/nvidia/containers/cuda/tags
這種的參考下邊的網(wǎng)站
ARG CUDA_VERSION=12.2.2
ARG CUDNN_VERSION=8
ARG OS_VERSION=22.04
# 從nvidia 官方鏡像庫(kù)拉取基礎(chǔ)鏡像
FROM nvidia/cuda:${CUDA_VERSION}-cudnn${CUDNN_VERSION}-devel-ubuntu${OS_VERSION}
https://hub.docker.com/r/nvidia/cuda
https://gitlab.com/nvidia/container-images/cuda/blob/master/doc/supported-tags.md
還有這個(gè)玩意 直接集成好的
nvcr.io/nvidia/tensorrt:23.10-py3
#里面是cuda 12.2
nvcr.io/nvidia/tensorrt:23.12-py3
#里面是cuda 12.3
nvcr.io/nvidia/tensorrt:24.02-py3
#里面是cuda 12.3
https://catalog.ngc.nvidia.com/orgs/nvidia/containers/tensorrt/tags
笨方法的= = 還沒弄成的 下邊自己備份 別用 會(huì)報(bào)錯(cuò)
Dockerfile
ARG CUDA_VERSION=12.3.2
ARG CUDNN_VERSION=9
ARG OS_VERSION=20.04
# 從nvidia 官方鏡像庫(kù)拉取基礎(chǔ)鏡像
# FROM nvidia/cuda:${CUDA_VERSION}-cudnn${CUDNN_VERSION}-devel-ubuntu${OS_VERSION}
FROM nvcr.io/nvidia/cuda:${CUDA_VERSION}-cudnn${CUDNN_VERSION}-devel-ubuntu${OS_VERSION}
#nvcr.io/nvidia/cuda:12.3.2-cudnn9-devel-ubuntu20.04
# 設(shè)置環(huán)境變量,避免交互式提示
ENV DEBIAN_FRONTEND=noninteractive
LABEL maintainer="liubang"
# ENV TRT_VERSION 7.2.3.4
# ENV TRT_VERSION 7.0.0.11
# TensorRT 10.8 GA for Ubuntu 24.04 and CUDA 12.0 to 12.8 DEB local repo Package
ENV TRT_VERSION 10.8
SHELL ["/bin/bash", "-c"]
# 將 apt 的升級(jí)源切換成 阿里云
RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list && \
apt-get clean && \
rm /etc/apt/sources.list.d/*
# 安裝必要的庫(kù)
RUN apt-get update && apt-get install -y software-properties-common
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
RUN apt-get update && apt-get install -y --no-install-recommends \
libcurl4-openssl-dev \
wget \
vim \
zlib1g-dev \
git \
pkg-config \
sudo \
ssh \
libssl-dev \
pbzip2 \
pv \
bzip2 \
unzip \
devscripts \
lintian \
fakeroot \
dh-make \
build-essential \
libgl1-mesa-glx
# 安裝 python3 環(huán)境
RUN apt-get install -y --no-install-recommends \
python3 \
python3-pip \
python3-dev \
python3-wheel &&\
cd /usr/local/bin &&\
ln -s /usr/bin/python3 python &&\
ln -s /usr/bin/pip3 pip;
# 安裝 TensorRT
# RUN cd /tmp && sudo apt-get update
# RUN version="8.6.1.6-1+cuda12.0" && \
# sudo apt-get install libnvinfer8=${version} libnvonnxparsers8=${version} libnvparsers8=${version} libnvinfer-plugin8=${version} libnvinfer-dev=${version} libnvonnxparsers-dev=${version} libnvparsers-dev=${version} libnvinfer-plugin-dev=${version} python3-libnvinfer=${version} &&\
# sudo apt-mark hold libnvinfer8 libnvonnxparsers8 libnvparsers8 libnvinfer-plugin8 libnvinfer-dev libnvonnxparsers-dev libnvparsers-dev libnvinfer-plugin-dev python3-libnvinfer
# 升級(jí) pip 并切換成國(guó)內(nèi)豆瓣源
RUN python3 -m pip install -i https://pypi.douban.com/simple/ --upgrade pip
RUN pip3 config set global.index-url https://pypi.douban.com/simple/
RUN pip3 install setuptools>=41.0.0
# 升級(jí) Cmake(可選)
RUN cd /tmp && \
wget --no-check-certificate https://github.com/Kitware/CMake/releases/download/v3.14.4/cmake-3.14.4-Linux-x86_64.sh && \
chmod +x cmake-3.14.4-Linux-x86_64.sh && \
./cmake-3.14.4-Linux-x86_64.sh --prefix=/usr/local --exclude-subdir --skip-license && \
rm ./cmake-3.14.4-Linux-x86_64.sh
# 設(shè)置環(huán)境變量和工作路徑
ENV TRT_LIBPATH /usr/lib/x86_64-linux-gnu
ENV TRT_OSSPATH /workspace/TensorRT
ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${TRT_OSSPATH}/build/out:${TRT_LIBPATH}"
WORKDIR /workspace
# 設(shè)置語(yǔ)言環(huán)境為中文链嘀,防止 print 中文報(bào)錯(cuò)
ENV LANG C.UTF-8
RUN ["/bin/bash"]
創(chuàng)建鏡像
docker build -t tensorrt-container .
創(chuàng)建容器
#有掛載的
docker run -it --name trt_test-v1 --gpus all -v /home/tensorrt_v1:/tensorrt tensorrt-docker:v1 /bin/bash
docker run -it --name my-tensorrt --gpus all tensorrt-container:latest /bin/bash
刪除容器
docker rm my-tensorrt
nvidia-smi
驗(yàn)證功能
# 通過 Python 驗(yàn)證
python3 -c "import tensorrt as trt; print('TensorRT Version:', trt.__version__)"