From 7bbeb8bc931daea089f7a45402758e02cf4e71be Mon Sep 17 00:00:00 2001 From: JY Yang Date: Tue, 28 Nov 2023 18:08:57 +0800 Subject: [PATCH] init --- Dockerfile | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100755 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100755 index 0000000..bb397fe --- /dev/null +++ b/Dockerfile @@ -0,0 +1,76 @@ +# For more detail, check NGC +FROM nvcr.io/nvidia/tensorrt:22.12-py3 + +ENV TZ=Asia/Shanghai +ARG user=jiayu + +# Set timezone in case of interation during installation +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +# install packages for opencv +RUN apt-get update +RUN apt install -y --no-install-recommends \ + build-essential cmake git pkg-config libgtk-3-dev \ + libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev \ + libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev \ + python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev \ + build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev \ + libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev \ + libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev \ + python3-numpy libtbb2 libtbb-dev libdc1394-22-dev +RUN apt-get -y clean && rm -rf /var/lib/apt/lists/* + +#Build opencv4.5.5 +RUN mkdir /root/opencv_build +WORKDIR /root/opencv_build/ +RUN git clone https://github.com/opencv/opencv.git && git clone https://github.com/opencv/opencv_contrib.git && \ + cd /root/opencv_build/opencv && git checkout 4.5.5 && \ + cd /root/opencv_build/opencv_contrib && git checkout 4.5.5 && \ + cd /root/opencv_build/opencv && mkdir build + +WORKDIR /root/opencv_build/opencv/build +RUN cmake -D OPENCV_GENERATE_PKGCONFIG=ON \ + -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ + -D WITH_GSTREAMER=ON \ + -D WITH_LIBV4L=ON \ + -D BUILD_opencv_python2=ON \ + -D BUILD_opencv_python3=ON \ + -D BUILD_TESTS=OFF \ + -D BUILD_PERF_TESTS=OFF \ + -D BUILD_EXAMPLES=OFF \ + -D CMAKE_BUILD_TYPE=RELEASE \ + -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \ + -D CMAKE_INSTALL_PREFIX=/usr/local .. +RUN make -j16 && make install +WORKDIR /root +RUN rm -rf opencv_build + +# install packages that are used for trt inferences +RUN apt-get update && apt install -y --no-install-recommends \ + sudo libgflags-dev libboost-dev libxml2-dev \ + libyaml-cpp-dev sqlite3 libsqlite3-dev libboost-all-dev \ + lsb-release openssh-server curl +RUN apt-get -y clean && rm -rf /var/lib/apt/lists/* + +# install netron to show model structure +RUN pip install netron + +# set userinfo +RUN useradd -rm -c ${user} -u 1000 -d /home/${user} -s /bin/bash -G sudo ${user} +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +RUN echo "$user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers + +RUN apt-get update + +# set working directory of trt webinar +RUN mkdir -p /home/${user}/workspace/ +RUN chown -R ${user}:users /home/${user} + +# ssh setting +RUN systemctl enable ssh + +# set default working directory and user +WORKDIR /home/${user} +USER ${user} + +