在 AmazonLinux Docker Image 上安装 Python3.6



我一直在尝试使用基于amazonlinux的python3.6创建Docker映像。 到目前为止,我还没有很成功。我使用

docker run -it amazonlinux

以启动交互式 docker 终端。在终端内部,我运行"yum install python36"并看到以下错误消息。请注意,我从基于 amazonlinux 的旧 Dockerfile 复制了此步骤。这个 Dockerfile 曾经工作过。所以我暂停了我在下面看到的错误是由于亚马逊更新了他们的 docker linux 映像

bash-4.2# yum install python36
Loaded plugins: ovl, priorities
amzn2-core       | 2.4 kB  00:00:00     
No package python36 available.
Error: Nothing to do

我试图通过关注这篇文章添加一个 python3.6 存储库 https://janikarhunen.fi/how-to-install-python-3-6-1-on-centos-7 但是,当我运行时它仍然给出相同的错误

yum install python36u

有没有办法将python3.6添加到Amazonlinux基础层?提前谢谢。

现在这个问题有一个更简单的答案,这要归功于aws的"extras"。现在这将起作用:

amazon-linux-extras install python3

您可以检查此基于 amazon Linux 的 Dockerfile,并且 python 版本PYTHON_VERSION=3.6.4

或者你可以使用你现有的,比如

ARG PYTHON_VERSION=3.6.4
ARG BOTO3_VERSION=1.6.3
ARG BOTOCORE_VERSION=1.9.3
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问题。

百胜安装码头工人

加载的插件:ovl,优先级 AMZN2 核心 |3.7 千字节 00:00:00 没有可用的包码头程序。 错误:无事可做

相反,yum 我使用了 amazon-linux-extras,它有效

Amazon-linux-extras install docker

最新更新