Версия JRE с стрелой (докер) - PullRequest
3 голосов
/ 05 мая 2019

Я пытаюсь разобраться с созданием образов Docker с помощью проекта Jib от Google и Jib Maven Plugin .

Я не понимаю, как указатьверсия JRE.

Я понимаю, что могу настроить в конфигурации плагина , что-то вроде:

<configuration>
  <from>
    <image>gcr.io/distroless/java</image>
  </from>
</configuration>

, но что это означает с точки зрения фактической версии JREкакой будет использоваться?Что, если я хочу сказать конкретно JRE 8u172?

Проект Jib утверждает это как особенность:

Воспроизводимый - Перестройка образа контейнера с одинаковым содержимым всегдагенерирует одно и то же изображение.

, поэтому я предполагаю, что должен быть какой-то способ заблокировать версию JRE?

Уровень: Advanced на Java и Maven, новичок во всем Docker.

Ответы [ 2 ]

1 голос
/ 05 мая 2019

Доступность 8u172 зависит от того, создал ли дистрибьютор образ сборки этой версии.

Не поддерживается версия сборки Java с тегами изображений Docker с gcr.io/distroless/java.
В настоящее время gcr.io/distroless/java:8, этобыло 8u212, как показано ниже.

https://console.cloud.google.com/gcr/images/distroless/GLOBAL/java?gcrImageListsize=30

~ $ docker run -it --rm  --entrypoint java  gcr.io/distroless/java:8 -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01)
OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)
~ $

Если вы хотите указать версию сборки Java, я предлагаю использовать AdroptOpenJDK.

например

<configuration>
  <from>
    <image>adoptopenjdk/openjdk8:jdk8u172-b11</image>
  </from>
</configuration>

Если вы можете использовать 8u171, вы можете выбрать openjdk.

<configuration>
  <from>
    <image>openjdk:8u171-jre</image>
  </from>
</configuration>

1 голос
/ 05 мая 2019

Вы, вероятно, хотите использовать базовое изображение с предустановленной Java.каждое изображение докера содержит тег (ы), которые похожи на версии.если вы не укажете тег, как вы делали выше, то берется последняя версия, которая может привести к неожиданному изменению версии Java.

Например, вы можете использовать opendjk изображение с версией Java 8u212 с помощьюиспользуя openjdk:8u212-jre-stretch.а в OpenJDK Docker Hub вы можете увидеть список всех доступных тегов

...