clean up ubuntu docker scripts (#2103)

This commit is contained in:
Changming Sun 2019-10-14 07:20:20 -07:00 committed by GitHub
parent 9363c14d23
commit 5558b80774
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 35 deletions

0
tools/ci_build/github/linux/copy_strip_binary.sh Normal file → Executable file
View file

View file

@ -5,10 +5,9 @@
FROM nvcr.io/nvidia/tensorrt:19.09-py3
ARG PYTHON_VERSION=3.6
ARG OS_VERSION=18.04
ADD scripts /tmp/scripts
RUN /tmp/scripts/install_ubuntu.sh -p $PYTHON_VERSION -o ${OS_VERSION} && /tmp/scripts/install_deps.sh -p $PYTHON_VERSION && rm -rf /tmp/scripts \
RUN /tmp/scripts/install_ubuntu.sh -p $PYTHON_VERSION && /tmp/scripts/install_deps.sh -p $PYTHON_VERSION && rm -rf /tmp/scripts \
&& rm /usr/local/bin/cmake && rm /usr/local/bin/ctest && rm -r /usr/local/share/cmake-3.12
WORKDIR /root

View file

@ -1,26 +1,28 @@
#!/bin/bash
set -e
while getopts p:d:o: parameter_Option
while getopts p:d: parameter_Option
do case "${parameter_Option}"
in
p) PYTHON_VER=${OPTARG};;
d) DEVICE_TYPE=${OPTARG};;
o) OS_VERSION=${OPTARG};;
esac
done
PYTHON_VER=${PYTHON_VER:=3.5}
# Some Edge devices only have limited disk space, use this option to exclude some package
DEVICE_TYPE=${DEVICE_TYPE:=Normal}
OS_VERSION=${OS_VERSION:=16.04}
apt-get update && apt-get install -y software-properties-common lsb-release
OS_VERSION=$(lsb_release -r -s)
DEBIAN_FRONTEND=noninteractive
SYS_LONG_BIT=$(getconf LONG_BIT)
apt-get update && apt-get install -y software-properties-common
add-apt-repository ppa:deadsnakes/ppa
if [ $OS_VERSION = "16.04" ]; then
#see: https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore21
if [ "$OS_VERSION" = "16.04" ]; then
PACKAGE_LIST="autotools-dev \
automake \
build-essential \
@ -53,7 +55,6 @@ if [ $OS_VERSION = "16.04" ]; then
python3-setuptools python3-numpy python3-wheel python python3-pip python3-pytest \
libprotobuf-dev libprotobuf9v5 protobuf-compiler"
else # ubuntu18.04
add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
PACKAGE_LIST="autotools-dev \
automake \
build-essential \
@ -75,7 +76,7 @@ else # ubuntu18.04
libcurl4 \
libssl1.0.0 \
libkrb5-3 \
libicu55 \
libicu60 \
libtinfo-dev \
libtool \
aria2 \
@ -96,18 +97,18 @@ locale-gen en_US.UTF-8
update-locale LANG=en_US.UTF-8
echo "Installing dotnet-sdk"
if [ $SYS_LONG_BIT = "64" ]; then
OS_VER=`lsb_release -r -s`
if [ "$SYS_LONG_BIT" = "64" ]; then
mkdir -p /tmp/dotnet
aria2c -q -d /tmp/dotnet https://packages.microsoft.com/config/ubuntu/${OS_VER}/packages-microsoft-prod.deb
aria2c -q -d /tmp/dotnet https://packages.microsoft.com/config/ubuntu/${OS_VERSION}/packages-microsoft-prod.deb
dpkg -i /tmp/dotnet/packages-microsoft-prod.deb
apt-get update
apt-get install -y dotnet-sdk-2.2
rm -rf /tmp/dotnet
fi
if [ $OS_VERSION = "16.04" ]; then
if [ $PYTHON_VER != "3.5" ]; then
if [ "$OS_VERSION" = "16.04" ]; then
if [ "$PYTHON_VER" != "3.5" ]; then
add-apt-repository -y ppa:deadsnakes/ppa
apt-get install -y --no-install-recommends \
python${PYTHON_VER} \
python${PYTHON_VER}-dev
@ -119,14 +120,9 @@ if [ $OS_VERSION = "16.04" ]; then
/usr/bin/python${PYTHON_VER} -m pip install --upgrade --force-reinstall pip==19.0.3
fi
rm -rf /var/lib/apt/lists/*
if [ $DEVICE_TYPE = "Normal" ]; then
aria2c -q -d /tmp -o llvm.tar.xz http://releases.llvm.org/9.0.0/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz
tar --strip 1 -Jxf /tmp/llvm.tar.xz -C /usr
fi
else # ubuntu18.04
if [ $PYTHON_VER != "3.6" ]; then
if [ "$PYTHON_VER" != "3.6" ]; then
add-apt-repository -y ppa:deadsnakes/ppa
apt-get install -y --no-install-recommends \
python${PYTHON_VER} \
python${PYTHON_VER}-dev
@ -137,11 +133,14 @@ else # ubuntu18.04
#put at /usr/local/. Then there will be two pips.
/usr/bin/python${PYTHON_VER} -m pip install --upgrade --force-reinstall pip==19.0.3
fi
fi
rm -rf /var/lib/apt/lists/*
rm -rf /var/lib/apt/lists/*
if [ $DEVICE_TYPE = "Normal" ]; then
aria2c -q -d /tmp -o llvm.tar.xz http://releases.llvm.org/9.0.0/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
tar --strip 1 -Jxf /tmp/llvm.tar.xz -C /usr
if [ "$SYS_LONG_BIT" = "64" ]; then
if [ "$DEVICE_TYPE" = "Normal" ]; then
aria2c -q -d /tmp -o llvm.tar.xz http://releases.llvm.org/9.0.0/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-${OS_VERSION}.tar.xz
tar --strip 1 -Jxf /tmp/llvm.tar.xz -C /usr
fi
fi

View file

@ -49,11 +49,6 @@ elif [ $BUILD_OS = "centos7" ]; then
DOCKER_FILE=Dockerfile.centos
docker build -t "onnxruntime-$IMAGE" --build-arg BUILD_USER=onnxruntimedev --build-arg BUILD_UID=$(id -u) --build-arg PYTHON_VERSION=${PYTHON_VER} -f $DOCKER_FILE .
else
if [ $BUILD_OS = "ubuntu16.04" ]; then
OS_VER=16.04
else
OS_VER=18.04
fi
if [ $BUILD_DEVICE = "gpu" ]; then
IMAGE="$BUILD_OS-$CUDA_VER"
DOCKER_FILE=Dockerfile.ubuntu_gpu
@ -65,18 +60,18 @@ else
# TensorRT container release 19.09
IMAGE="$BUILD_OS-cuda10.1-cudnn7.6-tensorrt6.0"
DOCKER_FILE=Dockerfile.ubuntu_tensorrt
docker build -t "onnxruntime-$IMAGE" --build-arg BUILD_USER=onnxruntimedev --build-arg BUILD_UID=$(id -u) --build-arg OS_VERSION=${OS_VER} --build-arg PYTHON_VERSION=${PYTHON_VER} -f $DOCKER_FILE .
docker build -t "onnxruntime-$IMAGE" --build-arg BUILD_USER=onnxruntimedev --build-arg BUILD_UID=$(id -u) --build-arg PYTHON_VERSION=${PYTHON_VER} -f $DOCKER_FILE .
elif [ $BUILD_DEVICE = "openvino" ]; then
IMAGE="$BUILD_OS-openvino"
DOCKER_FILE=Dockerfile.ubuntu_openvino
docker build -t "onnxruntime-$IMAGE" --build-arg BUILD_USER=onnxruntimedev --build-arg BUILD_UID=$(id -u) --build-arg OS_VERSION=${OS_VER} --build-arg PYTHON_VERSION=${PYTHON_VER} --build-arg OPENVINO_VERSION=${OPENVINO_VERSION} -f $DOCKER_FILE .
docker build -t "onnxruntime-$IMAGE" --build-arg BUILD_USER=onnxruntimedev --build-arg BUILD_UID=$(id -u) --build-arg PYTHON_VERSION=${PYTHON_VER} --build-arg OPENVINO_VERSION=${OPENVINO_VERSION} -f $DOCKER_FILE .
else
IMAGE="$BUILD_OS"
if [ $BUILD_ARCH = "x86" ]; then
IMAGE="$IMAGE.x86"
docker build -t "onnxruntime-$IMAGE" --build-arg BUILD_USER=onnxruntimedev --build-arg BUILD_UID=$(id -u) --build-arg OS_VERSION=${OS_VER} --build-arg PYTHON_VERSION=${PYTHON_VER} -f Dockerfile.ubuntu_x86 .
docker build -t "onnxruntime-$IMAGE" --build-arg BUILD_USER=onnxruntimedev --build-arg BUILD_UID=$(id -u) --build-arg PYTHON_VERSION=${PYTHON_VER} -f Dockerfile.ubuntu_x86 .
else
docker build -t "onnxruntime-$IMAGE" --build-arg BUILD_USER=onnxruntimedev --build-arg BUILD_UID=$(id -u) --build-arg OS_VERSION=${OS_VER} --build-arg PYTHON_VERSION=${PYTHON_VER} -f Dockerfile.ubuntu .
docker build -t "onnxruntime-$IMAGE" --build-arg BUILD_USER=onnxruntimedev --build-arg BUILD_UID=$(id -u) --build-arg PYTHON_VERSION=${PYTHON_VER} -f Dockerfile.ubuntu .
fi
fi
fi