Контейнер с дистриболем не может выполнить Java [дублировать]JAVA

Программисты JAVA общаются здесь
Anonymous
Контейнер с дистриболем не может выполнить Java [дублировать]

Сообщение Anonymous »

Я пытаюсь использовать Google Distrose Container Base-Debian12 и копировать сверху Java, используя Docker Multisting Build. Я не хочу использовать Google Distrocebress с установленной Java напрямую как золотое изображение, так как я хочу управлять версией, которую я устанавливаю.

Код: Выделить всё

######## Build Image ########
FROM eclipse-temurin:21-alpine AS builder

# Install necessary dependencies and create user in a single step
RUN apk add --no-cache curl shadow && \
curl --fail-with-body -L -o /opentelemetry-javaagent.jar \
'https://repo1.maven.org/maven2/io/opentelemetry/javaagent/opentelemetry-javaagent/2.12.0/opentelemetry-javaagent-2.12.0.jar' && \
useradd --create-home --home-dir /home/pleo --shell /bin/false user

RUN $JAVA_HOME/bin/jlink \
--add-modules java.base \
--strip-debug \
--no-man-pages \
--no-header-files \
--compress=2 \
--output /javaruntime

######## Golden Image ########
FROM gcr.io/distroless/base-debian12:debug

# Copy JRE, user configurations, and OpenTelemetry Java Agent in one step
COPY --from=builder --chown=nonroot:nonroot /opentelemetry-javaagent.jar /opentelemetry-javaagent.jar
COPY --from=builder /javaruntime /opt/java/openjdk

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

CMD ["java", "-showversion", "-jar", "/opentelemetry-javaagent.jar"]
Рассмотрим, что приложение Java будет заменено чем -то, что я создаю, но в настоящее время я тестирую его с помощью агента OpeneLemetry. Файлы правильно скопированы, но когда я проверяю версию Java, я получаю: < /p>

Код: Выделить всё

/ # /opt/java/openjdk/bin/java -version
sh: /opt/java/openjdk/bin/java: not found
Я изо всех сил пытаюсь найти какую -либо ссылку или помощь для этого.
Кто -нибудь может пролить свет?

Подробнее здесь: https://stackoverflow.com/questions/795 ... ecute-java

Вернуться в «JAVA»