java - 如何在python3.7的Docker中运行java10?

标签 java python docker circleci

我有一个使用 python:3.6.6-stretch 的 circleci 构建。我的大部分服务使用 python,但我还需要 java10 + maven。

现在似乎不可能在 python3 docker 中安装 java10。

拥有支持 python 和 java 的 docker 的最佳方法是什么?

最佳答案

Java 10 不再受支持,并且已从大多数 PPA 中删除。尽可能不要使用它。

但是,如果您仍然特别需要 Java 10,可以看看 how it is installed on top of an Ubuntu image by AdoptOpenJDK project .

您的 Dockerfile 可能看起来像这样:

FROM python:3.6.6-stretch

RUN rm -rf /var/lib/apt/lists/* && apt-get clean && apt-get update && apt-get upgrade -y \
    && apt-get install -y --no-install-recommends curl \
    && rm -rf /var/lib/apt/lists/*

RUN set -eux; \
    curl -Lso /tmp/openjdk.tar.gz https://github.com/AdoptOpenJDK/openjdk10-releases/releases/download/jdk-10.0.2%2B13/OpenJDK10_x64_Linux_jdk-10.0.2%2B13.tar.gz; \
    mkdir -p /opt/java/openjdk; \
    cd /opt/java/openjdk; \
    tar -xf /tmp/openjdk.tar.gz; \
    jdir=$(dirname $(dirname $(find /opt/java/openjdk -name javac))); \
    mv ${jdir}/* /opt/java/openjdk; \
    rm -rf ${jdir} /tmp/openjdk.tar.gz;

ENV JAVA_HOME=/opt/java/openjdk \
    PATH="/opt/java/openjdk/bin:$PATH"

注意:为了缩短命令,我放弃了一些 SHA 和检查。

关于java - 如何在python3.7的Docker中运行java10?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56688566/

相关文章:

image - 如何将 Vagrant box 转换为 Docker 镜像

Java MigLayout问题

java - 从 BLOB 数据类型转义特殊字符

java - Spring Data - 从存储库获取实体名称/类型

python - 使用 Selenium 滚动页面的有效方法

python - 使用 sockjs-tornado 的私有(private)消息传递

c# - 在Windows Docker上安装Matlab

Docker-compose:继续获取无法到达 "This site can’

java - eclipse根据构造函数参数生成类变量getter setter

python re.search 返回 None 和 Object