簡體   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