docker 容器中的 spring-boot swagger-ui 返回 404

问题描述 投票:0回答:1

我想将我的 spring-boot 应用程序部署到 docker 容器中。 我有一个本地工作的应用程序,我的 swagger ui 可以完美地工作。

因此,如果我在 docker 容器之外启动应用程序,请在浏览器中打开 url http://localhost:8090/swagger-ui/index.html 用户界面加载并运行。

如果我在docker中启动应用程序,url只会返回404。 当然应用程序是在docker中启动的,只有swagger-ui返回404。 API 端点正在运行,因此我可以访问该应用程序。

我的 swagger 配置仅包含将依赖项添加到 pom 中:

 <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-ui</artifactId>
            <version>1.6.11</version>
</dependency>

我的 Dockerfile 是:

FROM openjdk:11
VOLUME /tmp
EXPOSE 8090
ARG JAR_FILE=server/target/the-application.jar
ADD ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

我使用的spring boot版本是2.7.1

我使用以下命令在 docker 中启动应用程序:(我在 docker 之外使用相同的开发环境运行应用程序)

docker run -e "SPRING_PROFILES_ACTIVE=dev" -p 8090:8090 the-application:latest .

我不知道这里可能出了什么问题,我是否需要更改配置中的某些内容才能在 docker 中工作?或者也许我的 Dockerfile 是错误的?

spring-boot docker dockerfile swagger-ui openapi
1个回答
0
投票

我无法评论,所以必须使用答案,但是你设法解决这个问题吗?我有同样的问题,在其他来源没有找到好的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.