在docker映像中执行器终结点不工作

gzjq41n4  于 2021-07-24  发布在  Java
关注(0)|答案(3)|浏览(342)

在我的spring boot应用程序yaml中,我有:

management:
  metrics:
    export:
      simple:
        enabled: true
  endpoints:
    web:
      exposure:
        include: "*"

然而,当我击中

localhost:8080/actuator/metrics

它在SpringBoot独立应用程序中工作,但在docker映像中,端点执行器/度量不工作,它将我重定向到默认页面,应用程序仍然可以正常工作。
我的docker文件:

FROM openjdk:11-jre-buster

RUN apt update && apt install curl -y \
        && rm -rf /var/lib/apt/lists/*

MAINTAINER  xxxxx
ARG VERSION

ENV SERVER_PORT 80
ENV JAVA_OPTS -Xmx1g

# add this to solve buster sso issue

ENV OPENSSL_CONF=/etc/ssl

ENV SPRINGPROFILES=actuator

WORKDIR /app
COPY maven/docker-package/ /app

# Tesseract installation

RUN apt-get install apt-transport-https && \
    echo "deb [trusted=yes] https://notesalexp.org/tesseract-ocr/buster/ buster main" >> /etc/apt/sources.list && \
    apt-get update -oAcquire::AllowInsecureRepositories=true && \
    apt-get install notesalexp-keyring -oAcquire::AllowInsecureRepositories=true && \
    apt-get update && \
    apt-get -y install tesseract-ocr 

EXPOSE ${SERVER_PORT}

HEALTHCHECK --interval=5s --timeout=5s --retries=3 \
      CMD curl -f http://localhost:80/actuator/health || exit 1

ENTRYPOINT ["sh", "/app/docker-entrypoint.sh"]

docker-entrypoint.sh地址:

java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -Dlicense.path=/app/licenses/ "-Dspring.profiles.active=${SPRINGPROFILES}" -Dlogging.config=/app/config/log4j2.xml -Dserver.port=80 -jar /app/app-executable.jar

我错过了什么?docker中是否需要进行任何配置以公开度量?谢谢你的回复。

hwamh0ep

hwamh0ep1#

您应该在运行docker时打开端口:

sudo docker run****8080/8080*****
nzkunb0c

nzkunb0c2#

你加了吗 actuator 轮廓:

environment:
      - "SPRINGPROFILES=prod,actuator"

这里有更多信息。

oxiaedzo

oxiaedzo3#

复制config目录下的application.yml并将其设置到我的应用程序的configdir中,然后将其移动到映像中,解决了我的问题!

相关问题