繁体   English   中英

Dockerfile 安装python3

[英]Dockerfile to install python3

根据要求,我必须在 amazoncorreto 映像之上安装 python3,以便 python 代码可以在容器上运行。

为此,我在下面写了 dockerfile

FROM amazoncorretto
ARG PYTHON_VERSION=3.6.4

ARG APPUSER=app

RUN yum -y update &&\
    yum install -y shadow-utils findutils gcc sqlite-devel zlib-devel \
                   bzip2-devel openssl-devel readline-devel libffi-devel && \
    groupadd ${APPUSER} && useradd ${APPUSER} -g ${APPUSER} && \
    cd /usr/local/src && \
    curl -O https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
    tar -xzf Python-${PYTHON_VERSION}.tgz && \
    cd Python-${PYTHON_VERSION} && \
    ./configure --enable-optimizations && make && make altinstall && \
    rm -rf /usr/local/src/Python-${PYTHON_VERSION}* && \
    yum remove -y shadow-utils audit-libs libcap-ng && yum -y autoremove && \
    yum clean all

创建图像后,我尝试从该图像运行容器

docker run -it image-name /bin/bash
python3.6.4 -V
command not found
python --version
2.7

我无法弄清楚为什么 python 没有在这里安装。

构建图像也需要很长时间。以下是消息

make[1]: Entering directory `/usr/local/src/Python-3.6.4'
: # FIXME: can't run for a cross build
./python -m test.regrtest --pgo || true
Run tests sequentially
0:00:00 load avg: 0.97 [  1/406] test_grammar
0:00:00 load avg: 0.97 [  2/406] test_opcodes
0:00:00 load avg: 0.97 [  3/406] test_dict
0:00:01 load avg: 0.97 [  4/40

您还必须使用yum安装tar gzip gcc make ,因为amazoncorretto不附带这些软件包。 他们需要编译 python。

FROM amazoncorretto
ARG PYTHON_VERSION=3.6.4

ARG APPUSER=app

RUN yum -y update &&\
    yum install -y shadow-utils findutils gcc sqlite-devel zlib-devel \
                   bzip2-devel openssl-devel readline-devel libffi-devel tar gzip gcc make && \
    groupadd ${APPUSER} && useradd ${APPUSER} -g ${APPUSER} && \
    cd /usr/local/src && \
    curl -O https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
    tar -xzf Python-${PYTHON_VERSION}.tgz && \
    cd Python-${PYTHON_VERSION} && \
    ./configure --enable-optimizations && make && make altinstall && \
    rm -rf /usr/local/src/Python-${PYTHON_VERSION}* && \
    yum remove -y shadow-utils audit-libs libcap-ng && yum -y autoremove && \
    yum clean all

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM