72 lines
3.1 KiB
Plaintext
72 lines
3.1 KiB
Plaintext
FROM centos:8 as base
|
|
|
|
ENV LC_ALL en_US.UTF-8
|
|
ENV LANG en_US.UTF-8
|
|
ENV LANGUAGE en_US.UTF-8
|
|
ENV PATH /opt/rh/gcc-toolset-11/root/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
|
|
# change to a valid repo
|
|
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*.repo
|
|
# enable to install ninja-build
|
|
RUN sed -i 's|enabled=0|enabled=1|g' /etc/yum.repos.d/CentOS-Linux-PowerTools.repo
|
|
|
|
RUN yum -y update
|
|
RUN yum install -y wget curl perl util-linux xz bzip2 git patch which zlib-devel sudo
|
|
RUN yum install -y autoconf automake make cmake gdb gcc-toolset-11-gcc-c++
|
|
|
|
|
|
FROM base as openssl
|
|
ADD ./common/install_openssl.sh install_openssl.sh
|
|
RUN bash ./install_openssl.sh && rm install_openssl.sh
|
|
|
|
# Install python
|
|
FROM base as python
|
|
RUN yum install -y openssl-devel zlib-devel bzip2-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel libffi-devel
|
|
ADD common/install_cpython.sh install_cpython.sh
|
|
RUN bash ./install_cpython.sh && rm install_cpython.sh
|
|
|
|
FROM base as conda
|
|
ADD ./common/install_conda_docker.sh install_conda.sh
|
|
RUN bash ./install_conda.sh && rm install_conda.sh
|
|
RUN /opt/conda/bin/conda install -y cmake
|
|
|
|
FROM base as intel
|
|
# Install MKL
|
|
COPY --from=python /opt/python /opt/python
|
|
COPY --from=python /opt/_internal /opt/_internal
|
|
COPY --from=conda /opt/conda /opt/conda
|
|
ENV PATH=/opt/conda/bin:$PATH
|
|
ADD ./common/install_mkl.sh install_mkl.sh
|
|
RUN bash ./install_mkl.sh && rm install_mkl.sh
|
|
|
|
FROM base as patchelf
|
|
ADD ./common/install_patchelf.sh install_patchelf.sh
|
|
RUN bash ./install_patchelf.sh && rm install_patchelf.sh
|
|
RUN cp $(which patchelf) /patchelf
|
|
|
|
FROM base as jni
|
|
ADD ./common/install_jni.sh install_jni.sh
|
|
ADD ./java/jni.h jni.h
|
|
RUN bash ./install_jni.sh && rm install_jni.sh
|
|
|
|
FROM base as libpng
|
|
ADD ./common/install_libpng.sh install_libpng.sh
|
|
RUN bash ./install_libpng.sh && rm install_libpng.sh
|
|
|
|
FROM base as final
|
|
COPY --from=openssl /opt/openssl /opt/openssl
|
|
COPY --from=python /opt/python /opt/python
|
|
COPY --from=python /opt/_internal /opt/_internal
|
|
COPY --from=intel /opt/intel /opt/intel
|
|
COPY --from=conda /opt/conda /opt/conda
|
|
COPY --from=patchelf /usr/local/bin/patchelf /usr/local/bin/patchelf
|
|
COPY --from=jni /usr/local/include/jni.h /usr/local/include/jni.h
|
|
COPY --from=libpng /usr/local/bin/png* /usr/local/bin/
|
|
COPY --from=libpng /usr/local/bin/libpng* /usr/local/bin/
|
|
COPY --from=libpng /usr/local/include/png* /usr/local/include/
|
|
COPY --from=libpng /usr/local/include/libpng* /usr/local/include/
|
|
COPY --from=libpng /usr/local/lib/libpng* /usr/local/lib/
|
|
COPY --from=libpng /usr/local/lib/pkgconfig /usr/local/lib/pkgconfig
|
|
|
|
RUN yum install -y ninja-build
|