# Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.
ARG CUDA_VERSION=10.0
ARG CUDNN_VERSION=7
ARG OS_VERSION=18.04
FROM nvidia/cuda:${CUDA_VERSION}-cudnn${CUDNN_VERSION}-devel-ubuntu${OS_VERSION}
LABEL maintainer="HinGwen Woong"# ENV TRT_VERSION 7.2.3.4
ENV TRT_VERSION 7.0.0.11
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-getinstall -y software-properties-common
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
RUN apt-get update &&apt-getinstall -y --no-install-recommends \
libcurl4-openssl-dev \wget\
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-getinstall -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 &&\wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb &&\
dpkg -i nvidia-machine-learning-repo-*.deb &&apt-get update
RUN v="${TRT_VERSION%.*}-1+cuda${CUDA_VERSION%.*}"&&\apt-getinstall -y libnvinfer7=${v} libnvinfer-plugin7=${v}libnvparsers7=${v}libnvonnxparsers7=${v} libnvinfer-dev=${v} libnvinfer-plugin-dev=${v} libnvparsers-dev=${v} python3-libnvinfer=${v}&&\
apt-mark hold libnvinfer7 libnvinfer-plugin7 libnvparsers7 libnvonnxparsers7 libnvinfer-dev libnvinfer-plugin-dev libnvparsers-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 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 run -it --name tensorrt --gpus "0" hingwenwoong/tensorrt-docker:v1 /bin/bash# docker exec -it 7ba7d4180a74 bash
cuda11
# Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.
ARG CUDA_VERSION=11.1
ARG OS_VERSION=18.04
FROM nvidia/cuda:${CUDA_VERSION}-cudnn8-devel-ubuntu${OS_VERSION}
LABEL maintainer="NVIDIA CORPORATION"
ENV TRT_VERSION 7.2.3.4
SHELL["/bin/bash", "-c"]# Install requried libraries
RUN apt-get update &&apt-getinstall -y software-properties-common
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
RUN apt-get update &&apt-getinstall -y --no-install-recommends \
libcurl4-openssl-dev \wget\
zlib1g-dev \git\
pkg-config \sudo\ssh\
libssl-dev \
pbzip2 \pv\bzip2\unzip\
devscripts \
lintian \
fakeroot \
dh-make \
build-essential \
libgl1-mesa-glx \vim# Install python3
RUN apt-getinstall -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;# Install TensorRT
RUN cd /tmp &&\wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb &&\
dpkg -i nvidia-machine-learning-repo-*.deb &&apt-get update
RUN v="${TRT_VERSION%.*}-1+cuda${CUDA_VERSION%.*}"&&\apt-getinstall -y libnvinfer7=${v} libnvinfer-plugin7=${v}libnvparsers7=${v}libnvonnxparsers7=${v} libnvinfer-dev=${v} libnvinfer-plugin-dev=${v} libnvparsers-dev=${v} python3-libnvinfer=${v}&&\
apt-mark hold libnvinfer7 libnvinfer-plugin7 libnvparsers7 libnvonnxparsers7 libnvinfer-dev libnvinfer-plugin-dev libnvparsers-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
# Install Cmake
RUN cd /tmp &&\wget 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
# Download NGC client
RUN cd /usr/local/bin &&wget https://ngc.nvidia.com/downloads/ngccli_cat_linux.zip &&unzip ngccli_cat_linux.zip &&chmod u+x ngc &&rm ngccli_cat_linux.zip ngc.md5 &&echo"no-apikey\nascii\n"| ngc config set# Set environment and working directory
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
# 安装torch、onnx、pycuda
RUN pip3 installtorch==1.8.0+cu111 torchvision==0.9.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html
RUN pip3 install onnx
RUN pip3 install pycuda
RUN pip3 install opencv-python
RUN ["/bin/bash"]# docker build -t zxx/tensorrt:v2 -f Dockerfile .# docker run -it --name tensorrt --gpus "2" zxx/tensorrt:v2 /bin/bash# docker exec -ti -u root 446a83765f1f bash