Почему новые Java 8 изображений, опубликованных OpenJDK, больше не основаны на Alpine, а основаны на Debian 10 (Buster)? - PullRequest
0 голосов
/ 21 апреля 2020

Я просматриваю новейшие изображения, опубликованные OpenJDK: https://hub.docker.com/layers/openjdk/library/openjdk/8u252-jre-slim-buster/images/sha256-01dfdeac537b9d9adcb2399028fba063733a77186c5264e6b059987002c0e48c?context=explore все они переключены

все новые Java 8 изображений основаны на Debian, есть ли официальное заявление? что OpenJDK перешел с Alpine на Debian и почему?

Почему новые Java 8 изображений, опубликованных OpenJDK, больше не основаны на Alpine, а на Debian 10 (Buster)?

1 Ответ

1 голос
/ 21 апреля 2020

В мае 2019 года образы OpenJDK Dockerhub перешли на использование официальных, сертифицированных двоичных файлов OpenJDK, а не дистрибутивных пакетов OpenJDK:
https://github.com/docker-library/openjdk/pull/322

Эти двоичные файлы являются ванильными восходящими Сборки OpenJDK предоставлены AdoptOpenJDK , протестированы и поддержаны RedHat. Двоичные файлы основаны на glib c, поэтому, хотя они совместимы с Debian, они не совместимы с Alpine Linux.

Справочная информация:

До мая 2019 года, OpenJDK имел образы Debian и Alpine, используя упакованные версии OpenJDK и установленные через менеджеры пакетов распространения, apt для Debian, apk для Alpine. Пакеты Debian и Alpine создаются и поддерживаются сообществом и не проверяются в той степени, в которой они используются в коммерческих сборках OpenJDK, например, они обычно не проверяются на JCK .

Затем произошел инцидент, вызвавший много споров, когда предварительная сборка OpenJDK 8, упакованная Debian, нашла свое отражение в официальном образе OpenJDK 8 docker. Первоначально о проблеме сообщалось в этой теме:
https://mail.openjdk.java.net/pipermail/jdk8u-dev/2019-May/009330.html

После этого было решено, что для образов OpenJDK будут использоваться только официальные, проверенные JCK сборки, чтобы иметь один "источник". истины ". Это решение затронуло как образы Debian, так и образы Alpine.

Поддержка Alpine OpenJDK:

Проект OpenJDK пока не имеет официальной поддержки Alpine Linux. Alpine Linux основан на musl lib c, который является минимальной и строгой реализацией POSIX и, как правило, не совместим со стандартом glib c. Портирование OpenJDK для musl lib c разрабатывается в рамках проекта OpenJDK Portola .

Alpine Linux openjdk8 Пакеты предоставляются IcedTea . Проект IceaTea предоставляет сборки для OpenJDK 6, 7 и 8 и был начат еще тогда, когда OpenJDK еще не был полностью открыт с открытым исходным кодом. Эти сборки сделаны сообществом и не являются официальными сборками OpenJDK. Более того, сборки Alpine Linux OpenJDK 8 IcedTea создаются из исходного кода сопровождающими Alpine. Поэтому эти сборки нельзя рассматривать как готовые к работе сертифицированные сборки OpenJDK.

Отход от изображений Alpine оказал большое влияние на экосистему Alpine Java; с тех пор многие проекты переместили свои изображения из Alpine, что вызывает сожаление. Вы можете найти более подробную информацию здесь .

...