java - 在 openjdk :7-jre-alpine docker how to install python 3. 6

标签 java python-3.x docker alpine-linux

直到大约一周前,我还在像这样的 java 图像上成功使用 python 3.6 脚本:

FROM openjdk:7-jre-alpine

RUN apk update \
    && apk upgrade \
    && apk add --no-cache bash \
    && apk add --no-cache --virtual=build-dependencies unzip \
    && apk add --no-cache curl \
    && apk add --no-cache go

RUN apk add --no-cache python3 && \
    python3 -m ensurepip && \
    rm -r /usr/lib/python*/ensurepip && \
    pip3 install --upgrade pip setuptools && \
    if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi && \
    if [[ ! -e /usr/bin/python ]]; then ln -sf /usr/bin/python3 
/usr/bin/python; fi && \
    rm -r /root/.cache && \
    pip install kubernetes

现在这个 dockerfile 失败了

&& apk add --no-cache bash \

我找到的唯一解决方案是注释掉构建依赖项并将它们引入:

    && echo -e "http://nl.alpinelinux.org/alpine/v3.5/main\nhttp://nl.alpinelinux.org/alpine/v3.5/community" > /etc/apk/repositories \
&& apk add --no-cache bash \
#&& apk add --no-cache --virtual=build-dependencies unzip \

此修复安装 python 版本 3.52 而不是 3.6

如何在 openjdk:7-jre-alpine 上安装 python 3.6 [或我想要的任何版本] jetty worker ?

更新: 现在所有的 Alpine 选项都失败了

最佳答案

在花了几个小时尝试了许多不同的选项之后,包括在多个版本中重新安装 docker。我设法让下面的 Dockefile 工作。请注意,我不得不重复构建几次。我的理论是我的 WIFI 或网络或 VPN 导致超时。在我的 mac 的本地 docker 存储库上成功构建之后,我尝试在 minikube 上使用 virtualbox vm 进行相同的构建,并且在重复相同的构建几次并注意到脚本中进一步发生错误后它起作用了。

这是 Dockerfile 的值(value):

FROM alpine:3.7

RUN apk update \
&& apk upgrade \
&& apk add --no-cache bash \
&& apk add --no-cache --virtual=build-dependencies unzip \
&& apk add --no-cache curl \
&& apk add --no-cache openjdk7-jre

RUN apk add --no-cache python3 \
&& python3 -m ensurepip \
&& pip3 install --upgrade pip setuptools \
&& rm -r /usr/lib/python*/ensurepip && \
if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi && \
if [[ ! -e /usr/bin/python ]]; then ln -sf /usr/bin/python3 /usr/bin/python; fi && \
rm -r /root/.cache


RUN pip install kubernetes

关于java - 在 openjdk :7-jre-alpine docker how to install python 3. 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49962999/

相关文章:

java - 嵌套类、内部类

java - 在 weblogic 12.2.1 上部署 Spring Boot 2 应用程序时创建名称为 'httpPutFormContentFilter' 的 bean 时出错

django - 在部署环境中多次初始化 Django 或 wsgi 应用程序?

postgresql - Docker compose postgresql 服务 - 在构建期间无法创建用户和数据库?

docker-compose 在 docker-compose.yml 中看不到卷的变化

Java继承最大化重用

python - 为 int 覆盖 __repr__ 或 pprint

python - 我无法进行基本登录 - 找不到对象

django - 从Dockerfile运行collectstatic命令

java - 为什么 arrayList 中存储的每个对象的内容具有相同的值?