dockerfile安装tensorRT

from参考这个网站


FROM nvcr.io/nvidia/cuda:12.3.2-cudnn9-devel-ubuntu20.04
https://catalog.ngc.nvidia.com/orgs/nvidia/containers/cuda/tags

这种的参考下边的网站



ARG CUDA_VERSION=12.2.2
ARG CUDNN_VERSION=8
ARG OS_VERSION=22.04

# 从nvidia 官方镜像库拉取基础镜像
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

还有这个玩意 直接集成好的


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

笨方法的= = 还没弄成的 下边自己备份 别用 会报错
Dockerfile

ARG CUDA_VERSION=12.3.2
ARG CUDNN_VERSION=9
ARG OS_VERSION=20.04

# 从nvidia 官方镜像库拉取基础镜像 
# 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
# 设置环境变量,避免交互式提示
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 的升级源切换成 阿里云
RUN  sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list && \
            apt-get clean && \
            rm /etc/apt/sources.list.d/*

# 安装必要的库
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 环境
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

# 升级 pip 并切换成国内豆瓣源
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

# 升级 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

# 设置环境变量和工作路径
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

# 设置语言环境为中文,防止 print 中文报错
ENV LANG C.UTF-8

RUN ["/bin/bash"]



创建镜像

docker build -t tensorrt-container .

创建容器

#有挂载的
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

验证功能


# 通过 Python 验证
python3 -c "import tensorrt as trt; print('TensorRT Version:', trt.__version__)"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容