Как запустить java10 внутри Docker из python3.7? - PullRequest
2 голосов
/ 20 июня 2019

У меня есть сборка окружности, которая использует python:3.6.6-stretch. большинство моих сервисов использует python, но мне также нужен java10 + maven.

Теперь кажется невозможным установить java10 в докер python3.

Как лучше всего использовать докер, который будет поддерживать Python и Java?

Ответы [ 2 ]

1 голос
/ 21 июня 2019

Java 10 больше не поддерживается и удалена из большинства PPA. Не используйте его, если это возможно.

Но если вам все еще нужна именно Java 10, вы можете посмотреть, как она установлена ​​поверх образа Ubuntu в проекте AdoptOpenJDK .

Ваш 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, чтобы сделать команду короче.

0 голосов
/ 20 июня 2019

Итак, я провёл некоторое исследование публичных PPA и не смог найти тот, который имеет компиляцию open-jdk10 для Debian-stretch. Существует один для нескольких версий Ubuntu. Если вы хотите установить maven + python 3 + java 10, я думаю, у вас есть несколько вариантов.

  1. Найдите изображение с помощью maven + java 10, а затем установите python 3.
  2. Загрузите и установите JDK вручную и настройте правильные переменные, чтобы добавить его в PATH. Смотри https://www.rosehosting.com/blog/how-to-install-java-10-on-debian-9/
  3. Используйте изображение, основанное на Ubuntu, как это (https://github.com/FNNDSC/ubuntu-python3/blob/master/Dockerfile),, чтобы вы могли использовать этот PPA, который имеет дистрибутивы openjdk для 10.
...