dockerfile
# Version 1.0.0
# wget http://ftp.jaist.ac.jp/pub/OpenBSD/LibreSSL/libressl-2.9.2.tar.gz
# wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
# build cmd: docker build -t euleros-python373:1.0.0 .
FROM euleros-gcc-glib-dev:4.9.28 as create_image
LABEL MAINTAINER="zhongmb@139.com"
RUN yum clean all && yum makecache && rpm -rebuilddb && \
yum install -y yum-utils && \
echo "[centos-base]" > /etc/yum.repos.d/CentOS-7.repo && \
echo "name=CentOS-7 - Base - mirrors.huaweicloud.com" >> /etc/yum.repos.d/CentOS-7.repo && \
echo "baseurl=https://mirrors.huaweicloud.com/centos/7/os/\$basearch/" >> /etc/yum.repos.d/CentOS-7.repo && \
echo "gpgcheck=1" >> /etc/yum.repos.d/CentOS-7.repo && \
echo "gpgkey=https://mirrors.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-7" >> /etc/yum.repos.d/CentOS-7.repo && \
echo "enabled=0" >> /etc/yum.repos.d/CentOS-7.repo && \
yum repolist all && \
yum-config-manager --enable centos-base && \
yum-config-manager --disable base && \
yum clean all && yum makecache && rpm -rebuilddb && \
yum erase -y uuid uuid-devel && \
yum install -y uuid uuid-devel && \
yum-config-manager --disable centos-base && \
yum-config-manager --enable base && \
yum clean all && yum makecache && rpm -rebuilddb
COPY ./libressl-2.9.2.tar.gz ./
COPY ./Python-3.7.3.tgz ./
RUN yum clean all && yum makecache && rpm -rebuilddb && \
yum install -y gcc make zlib-devel bzip2-devel ncursess-devel sqlite-devel readline-devel xz-devel libffi-devel uuid-devel libuuid-devel gdbm-devel tk-devel && \
tar xzvf libressl-2.9.2.tar.gz && \
rm libressl-2.9.2.tar.gz && \
cd libressl-2.9.2 && \
export LD_LIBRARY_PATH=/usr/local/gcc-4.9.4/lib64:/usr/local/gmp/lib:/usr/local/mpfr/lib:/usr/local/mpc/lib && \
./configure --prefix=/usr/local/ssl && \
make -j4 && \
make install && \
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl && \
ln -s /usr/local/ssl/include/openssl /usr/include/openssl && \
echo /usr/local/ssl/lib > /etc/ld.so.conf.d/libressl-2.9.2.conf && \
ldconfig -v && \
cd .. && rm -fr ./libressl-2.9.2
RUN tar xzvf Python-3.7.3.tgz && \
rm Python-3.7.3.tgz && \
cd Python-3.7.3 && \
export CFLAGS=" -Wno-error=coverage-mismatch" && \
export CPPFLAGS=" -Wno-error=coverage-mismatch" && \
sed -i "4,9s/^/\/\//" ./Modules/_uuidmodule.c && \
sed -i "5s/\/\///" ./Modules/_uuidmodule.c && \
sed -i "s/Werror=implicit-function-declaration/Wno-error/g" ./configure && \
export LD_LIBRARY_PATH=/usr/local/gcc-4.9.4/lib64:/usr/local/gmp/lib:/usr/local/mpfr/lib:/usr/local/mpc/lib && \
./configure --prefix=/usr/local/python373 --enable-optimizations --with-openssl=/usr/local/ssl && \
make -j4 && \
make install && \
ln -s /usr/local/python373/bin/python3.7 /usr/bin/python3.7.3 && \
ln -s /usr/local/python373/bin/python3.7 /usr/bin/python373 && \
ln -s /usr/local/python373/bin/pip3.7 /usr/bin/pip3.7.3 && \
ln -s /usr/local/python373/bin/pip3.7 /usr/bin/pip373 && \
ln -s /usr/local/python373/bin/python3.7 /usr/local/bin/python3 && \
ln -s /usr/local/python373/bin/pip3.7 /usr/local/bin/pip3 && \
cd .. && rm -fr Python-3.7.3
RUN /usr/bin/python373 -m pip install --upgrade --index-url=https://mirrors.huaweicloud.com/repository/pypi/simple --trusted-host=mirrors.huaweicloud.com pip && \
/usr/bin/pip373 install --upgrade --index-url=https://mirrors.huaweicloud.com/repository/pypi/simple --trusted-host=mirrors.huaweicloud.com setuptools
RUN yum clean all && rm -fr /tmp/* && rm -fr /var/tmp/* && rm -fr /var/cache/*
FROM euleros:2.0.5 as copy_image
LABEL MAINTAINER="zhongmb@139.com"
RUN yum clean all && yum makecache && rpm -rebuilddb
COPY --from=create_image /usr/local/glibc-2.28/sbin /usr/local/glibc-2.28/sbin
COPY --from=create_image /usr/local/glibc-2.28/bin /usr/local/glibc-2.28/bin
COPY --from=create_image /usr/local/glibc-2.28/lib /usr/local/glibc-2.28/lib
COPY --from=create_image /usr/local/gcc-4.9.4/bin /usr/local/gcc-4.9.4/bin
COPY --from=create_image /usr/local/gcc-4.9.4/lib /usr/local/gcc-4.9.4/lib
COPY --from=create_image /usr/local/gcc-4.9.4/lib64 /usr/local/gcc-4.9.4/lib64
COPY --from=create_image /usr/local/python373 /usr/local/python373
COPY --from=create_image /usr/bin/python3.7.3 /usr/bin/python3.7.3
COPY --from=create_image /usr/bin/python373 /usr/bin/python373
COPY --from=create_image /usr/bin/python3 /usr/bin/python3
COPY --from=create_image /usr/bin/pip3.7.3 /usr/bin/pip3.7.3
COPY --from=create_image /usr/bin/pip373 /usr/bin/pip373
COPY --from=create_image /usr/bin/pip3 /usr/bin/pip3
dickerfile