[docker]-使用hadolint命令检测dockerfile

导语:使用hadolint检测dockerfile规范

命令的功能

hadolint - Dockerfile Linter written in Haskell

Usage: hadolint [-v|--version] [-c|--config FILENAME] [DOCKERFILE...]
                [--file-path-in-report FILEPATHINREPORT] [--no-fail]
                [--no-color] [-V|--verbose] [-f|--format ARG] [--error RULECODE]
                [--warning RULECODE] [--info RULECODE] [--style RULECODE]
                [--ignore RULECODE]
                [--trusted-registry REGISTRY (e.g. docker.io)]
                [--require-label LABELSCHEMA (e.g. maintainer:text)]
                [--strict-labels] [--disable-ignore-pragma]
                [-t|--failure-threshold THRESHOLD]
  Lint Dockerfile for errors and best practices

Available options:
  -h,--help                Show this help text
  -v,--version             Show version
  -c,--config FILENAME     Path to the configuration file
  --file-path-in-report FILEPATHINREPORT
                           The file path referenced in the generated report.
                           This only applies for the 'checkstyle' format and is
                           useful when running Hadolint with Docker to set the
                           correct file path.
  --no-fail                Don't exit with a failure status code when any rule
                           is violated
  --no-color               Don't colorize output
  -V,--verbose             Enables verbose logging of hadolint's output to
                           stderr
  -f,--format ARG          The output format for the results [tty | json |
                           checkstyle | codeclimate | gitlab_codeclimate | gnu |
                           codacy | sonarqube | sarif] (default: tty)
  --error RULECODE         Make the rule `RULECODE` have the level `error`
  --warning RULECODE       Make the rule `RULECODE` have the level `warning`
  --info RULECODE          Make the rule `RULECODE` have the level `info`
  --style RULECODE         Make the rule `RULECODE` have the level `style`
  --ignore RULECODE        A rule to ignore. If present, the ignore list in the
                           config file is ignored
  --trusted-registry REGISTRY (e.g. docker.io)
                           A docker registry to allow to appear in FROM
                           instructions
  --require-label LABELSCHEMA (e.g. maintainer:text)
                           The option --require-label=label:format makes
                           Hadolint check that the label `label` conforms to
                           format requirement `format`
  --strict-labels          Do not permit labels other than specified in
                           `label-schema`
  --disable-ignore-pragma  Disable inline ignore pragmas `# hadolint
                           ignore=DLxxxx`
  -t,--failure-threshold THRESHOLD
                           Exit with failure code only when rules with a
                           severity equal to or above THRESHOLD are violated.
                           Accepted values: [error | warning | info | style |
                           ignore | none] (default: info)

执行

docker run --rm -i hadolint/hadolint hadolint "$@" - <  Dockerfile

检测的dockerfile如下

FROM nvidia/opengl:1.0-glvnd-devel-ubuntu16.04
# 作者
MAINTAINER xujiamin
# 持久化目录需要提前创建好 避免报错
#ADD aiserver /root/aiserver
#ADD path.conf /root/lung/path.conf
ADD jdk-8u151-linux-x64.tgz /opt/


# 先安装python3.6.8
RUN echo "deb [trusted=yes]  http://172.16.40.245:86  soft/" > /etc/apt/sources.list \
&& rm -rf /etc/apt/sources.list.d/* \
&& apt-get update \
&& apt-get -y    install python3.6    --no-install-recommends \
# autoconf automake
&& rm -rf /usr/bin/python3 \
&& ln -s /usr/bin/python3.6 /usr/bin/python3 \
&& apt clean \
&& rm -rf /var/lib/apt/lists/*


ADD get-pip.py /srv/get-pip.py
#ADD sources.list  /etc/apt/sources.list
# 先安装python3.6.8
RUN apt update \
&&  python3  /srv/get-pip.py   -i https://pypi.tuna.tsinghua.edu.cn/simple \
#&&  pip3 install pytest-runner   -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install gpustat  -i https://pypi.tuna.tsinghua.edu.cn/simple

RUN rm -rf /etc/localtime \
&& ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /root/.cache/pip/


ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8
ENV JAVA_HOME /opt/jdk1.8.0_151
ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH ${JAVA_HOME}/bin:$PATH


COPY libicu55_55.1-7_amd64.deb /srv/libicu55_55.1-7_amd64.deb
COPY jsoncpp_dcmtk_opencv_node.tgz /srv/jsoncpp_dcmtk_opencv_node.tgz
COPY CTA_Client_Deploy /srv/CTA_Client_Deploy

RUN cd /srv/CTA_Client_Deploy && bash /srv/CTA_Client_Deploy/copyfile.sh \
&& cd /srv/CTA_Client_Deploy && bash /srv/CTA_Client_Deploy/copy_print.sh \
&& ln -s /root/aiserver/opencv_lib/libopencv_java.so /usr/lib/libopencv_java.so \
&& ln -s /root/aiserver/lib/clib* /opt/jdk1.8.0_151/jre/lib/ext/  \
&& ln -s /root/aiserver/so_lib/libSvrCallLungRecon.so /usr/lib  \
&& ln -s /root/aiserver/so_lib/libnewgsps.so /usr/lib  \
&& apt-get update \
&& apt-get install rsync pigz tzdata libicu-dev libxml2 libtiff-dev libpng-dev libpython3.6-dev libopenblas-dev libjasper-dev  libgtk2.0 libjsoncpp-dev -y  --no-install-recommends \
# 似乎用不到
# && apt-get install libdc1394-22-dev  -y  --no-install-recommends \
&& tar --use-compress-program=pigz -xpf /srv/jsoncpp_dcmtk_opencv_node.tgz  -C /opt/  \
&& rsync -aq /opt/dcmtk/ /usr/local/  \
&& rsync -aq /opt/opencv/ /usr/local/ \
&& echo "export DCMDICTPATH=/usr/local/share/dcmtk/dicom.dic" >>/root/.bashrc \
&& echo "export DCMDICTPATH=/usr/local/share/dcmtk/dicom.dic" >>/etc/profile  \
&& rm -f /usr/lib/x86_64-linux-gnu/libstdc++.so.6 \

&& dpkg -i /srv/libicu55_55.1-7_amd64.deb  \
&& apt-get install -f -y  \
&& rm -rf /srv/ \
&& apt clean \
&& rm -rf /var/lib/apt/lists/* \
&& ldconfig

ENV DCMDICTPATH /usr/local/share/dcmtk/dicom.dic

###
COPY so_lib /srv/so_lib
#COPY font /usr/share/fonts/consolas

#RUN cp -r  /root/platform/print/* /usr/lib/ \
#&&  cp -rf /srv/so_lib/* /usr/lib/ \
#&& ldconfig \
RUN  apt update \
&& apt install curl -y \
&& apt install libtiff-dev xfonts-utils fontconfig libpython3.6-dev   -y  \
&& apt-get -y update && DEBIAN_FRONTEND="noninteractive" apt -y install tzdata

ADD sources.list  /etc/apt/sources.list
RUN apt update \
&& apt install rsync -y \
#
&& apt install libicu-dev  -y \
&& apt install libopenblas-dev -y \
&& apt install libgtk2.0-0:amd64 --no-install-recommends  -y \
#
&& apt install libjasper1 libjasper-dev -y \
&& apt-get install pigz  --no-install-recommends -y\
&& apt clean \
&& rm -rf /srv/* \
&& rm -rf /var/lib/apt/lists/*


ENV CUDA_ROOT /usr/local/cuda
ENV PATH $PATH:$CUDA_ROOT/bin

COPY cuda_11.2.1_460.32.03_linux.run /srv/cuda_11.2.1_460.32.03_linux.run
COPY cudnn-11.2-linux-x64-v8.1.1.33.tgz /srv/cudnn-11.2-linux-x64-v8.1.1.33.tgz
RUN echo "export CUDA_ROOT=/usr/local/cuda" >> /root/.bashrc \
&& echo "export PATH=\$PATH:\$CUDA_ROOT/bin" >> /root/.bashrc \
&& /srv/cuda_11.2.1_460.32.03_linux.run --silent --toolkit \
#&& apt-get install pigz  --no-install-recommends -y\
&& apt clean \
&& rm -rf /var/lib/apt/lists/*

RUN tar --use-compress-program=pigz -xpPf /srv/cudnn-11.2-linux-x64-v8.1.1.33.tgz   -C /usr/local/ \
&& rm -rf /srv/* \
&& rm -rf /var/lib/apt/lists/* \
&& ldconfig

COPY libopencv_java.so /usr/lib/libopencv_java.so
COPY libnewgsps.so /usr/lib/libnewgsps.so
COPY libSvrCallLungRecon.so /usr/lib/libSvrCallLungRecon.so

RUN pip3 install  numpy==1.19.5  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&& pip3 install vtk==9.1.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&& pip3 install numpy==1.19.5 -i https://pypi.tuna.tsinghua.edu.cn/simple \
&& rm -rf /root/.cache/pip/

ENV DCMDICTPATH /usr/local/share/dcmtk/dicom.dic
ENV LANG C.UTF-8
ENV JAVA_HOME /opt/jdk1.8.0_151
ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH ${JAVA_HOME}/bin:$PATH


#ADD sources.list  /etc/apt/sources.list
RUN echo "deb [trusted=yes]  http://172.16.40.245:80  soft/" > /etc/apt/sources.list \
&&  apt-get update \
&& apt-get -y    install openfoam7    --no-install-recommends
#&& apt-get -y    install  checkinstall cmake cmake-curses-gui  swig  curl libgdcm2.6 libgdcm-tools  libgl1-mesa-dev libglapi-mesa libosmesa6  libpython3.6-dev libvtk6-dev  mesa-common-dev openfoam7  libmysqlclient-dev  --no-install-recommends

RUN echo "deb [trusted=yes]  http://172.16.40.245:86  soft/" > /etc/apt/sources.list \
&& apt update \
&& apt-get -y    install python3.6 python3.6-dev python-dev python-gdcm python-vtk6 zip  --no-install-recommends \
# autoconf automake
&& rm -rf /usr/bin/python3 \
&& ln -s /usr/bin/python3.6 /usr/bin/python3 \
&& apt clean \
&& rm -rf /var/lib/apt/lists/*

# lung-egl-01

ADD get-pip.py /srv/get-pip.py
ADD sources.list.ali  /etc/apt/sources.list


# 先安装python3.6.8
RUN apt update \
# error: command 'x86_64-linux-gnu-gcc'
&&  apt-get install libcups2-dev  -y \
&&  apt-get install checkinstall cmake cmake-curses-gui  swig  curl libgdcm2.6 libgdcm-tools  libgl1-mesa-dev libglapi-mesa libosmesa6  libpython3.6-dev libvtk6-dev  mesa-common-dev libmysqlclient-dev  vim -y \
# fatal error: gnutls/gnutls.h: No such file or directory
&&  apt-get install libghc-gnutls-dev -y

RUN apt-get install libcups2-dev  -y
RUN echo "nameserver 114.114.114.114"  >> /etc/resolv.conf
RUN   python3  /srv/get-pip.py   -i https://pypi.tuna.tsinghua.edu.cn/simple \
# from .cv2 import _registerMatType
&&  pip3 install opencv-python-headless==4.1.2.30  -i https://pypi.tuna.tsinghua.edu.cn/simple \
#&&  pip3 install torchvision==0.8.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install anytree==2.7.3  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install triangle  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install itk==5.2.1.post1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install itk-elastix==0.13.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pytest-runner==5.3.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install coverage==5.5  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install nose==1.3.7  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install trimesh[easy]==3.9.35  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install defer==1.0.4  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install dataclasses==0.8  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install Cython==0.29.21  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install numpy==1.19.5  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install typing-extensions==3.10.0.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install fvcore==0.1.3.post20210204  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install iopath==0.1.8  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install portalocker==2.3.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install tabulate==0.8.9  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install termcolor==1.1.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install matplotlib==3.3.4  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install scikit_spatial==5.2.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install batchgenerators==0.21  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install medpy==0.4.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install yapf==0.30.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install numba==0.51.2  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pyvista==0.24.2  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install tetgen==0.4.4  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install edt==2.0.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pymeshfix==0.13.4  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pickle5==0.0.10  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install tetgen==0.4.4  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install addict==2.2.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install atomicwrites==1.3.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install attrs==19.3.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install chardet==2.3.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install Click==7.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install cloudpickle==1.2.2  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install colorama==0.4.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install cycler==0.10.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install dask==2.6.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install DBUtils==1.3  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install decorator==4.4.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install dijkstra3d==1.1.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install dipy==1.0.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install filelock==3.0.12  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install flatbuffers==1.11  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install funcsigs==1.0.2  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install future==0.18.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install h5py==2.10.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install imagecorruptions==0.1.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install imageio==2.6.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install kiwisolver==1.1.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install more-itertools==7.2.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install mysqlclient==1.4.4  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install networkx==2.4  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install nibabel==2.5.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install opencv-python==4.1.1.26  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install packaging==19.2  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pandas==0.25.2  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pexpect==4.0.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install Pillow==6.2.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pluggy==0.13.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install psutil==3.2.2  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install ptyprocess==0.5  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pytest==5.2.2  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install py==1.8.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pycrypto==2.6.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pycups==1.9.73  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pycurl==7.43.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pydicom==1.3.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pynvml==8.0.3  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pyparsing==2.4.2  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install python-dateutil==2.8.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pytz==2019.3  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install PyWavelets==1.1.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install PyYAML==3.12  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install ray==0.6.6  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install redis==3.3.11  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install reportlab==3.3.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install requests==2.9.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install scikit-image==0.16.2  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install scikit-learn==0.20.2  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install scipy==1.3.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install setproctitle==1.1.10  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install SimpleITK==1.2.3  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install six==1.10.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install terminaltables==3.1.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install toolz==0.10.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install tqdm==4.36.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install typing==3.7.4.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install urllib3==1.13.1  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install wcwidth==0.1.7  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install yacs==0.1.6  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install zipp==0.6.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install joblib==0.13.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install json_tricks  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install albumentations  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install meshio==4.1.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install scooby==0.5.6  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install shapely==1.8.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install pyefd==1.6.0  -i https://pypi.tuna.tsinghua.edu.cn/simple \
&&  pip3 install dicom2nifti==2.1.8 -i https://pypi.tuna.tsinghua.edu.cn/simple  \
&&  pip3 install pycocotools==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple  \
&&  pip3 install pydensecrf==1.0rc2  -i https://pypi.tuna.tsinghua.edu.cn/simple  \
#
#&& pip3 install torch===1.7.0   -i https://pypi.tuna.tsinghua.edu.cn/simple  \
&& pip3 install easydict==1.9   -i https://pypi.tuna.tsinghua.edu.cn/simple  \
&& pip3 install mmcv-full==1.3.11 -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html \
&& python3 -m pip install timm==0.4.12 -i https://pypi.tuna.tsinghua.edu.cn/simple \
&& python3 -m pip install fastremap==1.12.2 -i https://pypi.tuna.tsinghua.edu.cn/simple \
&& python3 -m pip install json5==0.9.8 -i https://pypi.tuna.tsinghua.edu.cn/simple \
&& python3 -m pip install trimesh[easy]==3.9.35 -i https://pypi.tuna.tsinghua.edu.cn/simple

RUN pip3 install antspyx==0.2.2 -f http://172.16.40.245:82/antspyx-0.2.2-cp36-cp36m-linux_x86_64.whl \
&& pip3 install  torch==1.7.0+cu110  -f http://172.16.40.245:82/torch-1.7.0+cu110-cp36-cp36m-linux_x86_64.whl \
&& pip3 install  torchvision==0.8.0  -f http://172.16.40.245:82/torchvision-0.8.0-cp36-cp36m-linux_x86_64.whl

#########
COPY cuda_11.2.1_460.32.03_linux.run /srv/cuda_11.2.1_460.32.03_linux.run
COPY cudnn-11.2-linux-x64-v8.1.1.33.tgz /srv/cudnn-11.2-linux-x64-v8.1.1.33.tgz
ADD pycuda-2021.1.tar.gz /srv/
ADD TensorRT-8.0.1.6.tgz /opt/
#ADD TensorRT-8.0.1.6.Linux.x86_64-gnu.cuda-11.3.cudnn8.2.tar.gz /opt/
COPY build_1-1_amd64.deb /srv/build_1-1_amd64.deb
COPY apex /srv/apex

RUN rm -rf /etc/localtime \
&& ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "export LC_ALL='C.UTF-8'" >> /root/.bashrc \
&& echo "export CUDA_ROOT=/usr/local/cuda" >> /root/.bashrc \
&& echo "export PATH=\$PATH:\$CUDA_ROOT/bin" >> /root/.bashrc \
#&& /srv/cuda_11.2.1_460.32.03_linux.run --silent --toolkit \
&& apt-get install pigz  --no-install-recommends \
&& apt clean \
&& rm -rf /var/lib/apt/lists/*


RUN /srv/cuda_11.2.1_460.32.03_linux.run --silent --toolkit \
&& tar --use-compress-program=pigz -xpPf /srv/cudnn-11.2-linux-x64-v8.1.1.33.tgz -C /usr/local/

ENV LC_ALL C.UTF-8
ENV CUDA_ROOT /usr/local/cuda
ENV PATH $PATH:$CUDA_ROOT/bin
# 会报ctag找不到 不影响

#########
RUN python3 -m pip install open3d==0.8.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple \
#&& tar --use-compress-program=pigz -xpPf /srv/cudnn-11.2-linux-x64-v8.1.1.33.tgz   -C /usr/local/ \
&& cd /srv/pycuda-2021.1 && ./configure.py --cuda-root=/usr/local/cuda --cxxflags=-std=c++11  \
&& python3 -m pip install pytools mako -i https://pypi.tuna.tsinghua.edu.cn/simple \
&& make install \
&& python3 -m pip install /opt/TensorRT-8.0.1.6/python/tensorrt-8.0.1.6-cp36-none-linux_x86_64.whl \
&& echo "export LD_LIBRARY_PATH=/opt/TensorRT-8.0.1.6/lib:\$LD_LIBRARY_PATH" >> /root/.bashrc

ENV LD_LIBRARY_PATH /opt/TensorRT-8.0.1.6/lib:$LD_LIBRARY_PATH

RUN dpkg -i /srv/build_1-1_amd64.deb \
&& apt-get install -f \
&& cp /usr/local/lib/gdcm.py /usr/local/lib/python3.6/dist-packages/. \
&& cp /usr/local/lib/gdcmswig.py /usr/local/lib/python3.6/dist-packages/. \
&& cp /usr/local/lib/_gdcmswig.so /usr/local/lib/python3.6/dist-packages/. \
&& cp /usr/local/lib/libgdcm* /usr/local/lib/python3.6/dist-packages/. \
# fused_weight_gradient_mlp_cuda` module not found
&& cd /srv/apex && pip3 install -v --no-cache-dir  -i https://pypi.tuna.tsinghua.edu.cn/simple ./ \
&& ldconfig \
&& rm -rf /srv/* \
&& rm -rf /root/.cache/pip/

COPY ffr.tgz /srv/ffr.tgz
COPY libcuda.so.470.63.01 /usr/lib/x86_64-linux-gnu/libcuda.so.470.63.01
RUN tar -I pigz -xf /srv/ffr.tgz -C /usr/local/  \
&& ln -s /usr/lib/x86_64-linux-gnu/libcuda.so.470.63.01 /usr/lib/x86_64-linux-gnu/libcuda.so.1 \
&& ln -s  /usr/lib/x86_64-linux-gnu/libcuda.so.1  /usr/lib/x86_64-linux-gnu/libcuda.so \
#apt update \
#&& apt install pigz -y \
#&& tar -I pigz -xf /srv/ffr.tgz -C /usr/local/ \
&& rm -f /usr/lib/x86_64-linux-gnu/libstdc++.so.6 \
&& cp -a /usr/local/ffr/lib/libstdc++.so.6.0.26 /usr/lib/x86_64-linux-gnu/ \
&& ln -s  /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.26 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 \
&& ldconfig \
&& rm -rf /srv/* \
&& rm -rf /root/.cache/pip/

COPY VTK-8.2.0 /srv/VTK-8.2.0
RUN  cd /srv/VTK-8.2.0 && rm -rf /usr/local/include/vtk-8.2 && cp -rf * /usr/local/  \
&& rm -rf /srv/VTK-8.2.0 \
&& ldconfig

RUN apt update \
&& apt install vim -y  \
&& apt install libglew-dev -y \
&& apt install gcc-multilib -y  \
&& apt-get install mesa-utils -y  \
&& apt-get install freeglut3-dev -y  \
&& apt-get install -y build-essential -y  \
&& apt-get install libgl1-mesa-dev freeglut3-dev libglu1-mesa-dev -y  \
&& apt-get install libsoil-dev libglm-dev libassimp-dev libglew-dev libglfw3-dev libxinerama-dev libxcursor-dev libxi-dev -y \
# 这里还没加上
&& apt-get install telnet net-tools inetutils-ping curl wget  -y \
&& apt clean \
&& rm -rf /var/lib/apt/lists/*

https://github.com/hadolint/hadolint

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷来辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值