jlink --verbose --add-modules ALL-MODULE-PATH --compress 2 --strip-debug --no-header-files --no-man-pages --output /usr/lib/jvm/java-jlinkПорядок настройки хостов перед установкой кластеров и ресиверов, использующих Java
Для работы с Java необходимо установить утилиту Jlink. Данный инструмент предназначен для сборки и оптимизации модулей, а также их зависимостей в пользовательском образе среды выполнения. Jlink позволяет сформировать минимальный комплект компонентов Java, удаляя ненужные модули, документацию и отладочные файлы, создавая компактный дистрибутив.
Используйте команду:
В результате по пути /usr/lib/jvm/java-jlink будет сформирован набор компонентов для работы Java.
Для корректного монтирования Java в контейнеры необходимо создать ссылку:
ln -nfs /usr/lib/jvm/java-jlink /usr/lib/jvm/jdkЭта ссылка будет использоваться контейнерами, обеспечивающими работу Платформы. Передача ссылки в контейнер осуществляется с помощью томов. Том в Docker представляет собой файловую систему, существующую вне контейнера, и может быть подключен к одному или нескольким контейнерам. По умолчанию приложения в Docker-контейнерах являются stateless. Это означает, что приложение не оставляет данных после своей работы. Поэтому в Docker предусмотрены различные методы для хранения данных. Bind mount реализует следующий принцип работы: файл с данными хранится на хосте и открывается внутри контейнера.
Устранение ошибок
При выполнении команд может возникнуть ошибка:
Error: java.io.IOException: Cannot run program "objcopy": error=2, No such file or directoryДанная ошибка указывает на отсутствие утилиты objcopy. Установите ее с помощью следующих команд:
Для DEB подобных систем:
apt -y install binutilsДля RPM подобных систем:
yum install binutilsПодробнее о программе objcopy
Была ли эта страница полезной?
Спасибо за отзыв!
Спасибо, мы учтём это для улучшения документации.