Spring Boot应用Docker部署后Swagger UI返回404问题求助
解决Docker部署Spring Boot后Swagger UI 404问题
先修正Docker启动命令
你的启动命令末尾多了一个.,这会被当作参数传递给Java应用,可能干扰正常启动逻辑。修正后的命令:
docker run -e "SPRING_PROFILES_ACTIVE=dev" -p 8090:8090 the-application:latest
检查dev环境配置
确认dev profile的配置文件(application-dev.yml/application-dev.properties)中没有禁用Swagger UI的配置:
- 确保不存在
springdoc.swagger-ui.enabled=false - 如果有相关禁用配置,删除或改为
true
显式配置Swagger路径
在dev环境配置文件中添加Swagger路径配置,避免路径映射问题:
application.properties 示例:
springdoc.swagger-ui.path=/swagger-ui/index.html springdoc.api-docs.path=/v3/api-docs
application.yml 示例:
springdoc: swagger-ui: path: /swagger-ui/index.html api-docs: path: /v3/api-docs
验证jar包完整性
本地解压打包好的the-application.jar,检查是否包含Swagger静态资源:
- 查看
META-INF/resources/webjars/swagger-ui目录是否存在 - 如果不存在,说明打包时未包含该依赖,检查pom.xml中是否正确引入
springdoc-openapi-ui,且没有在打包插件中排除静态资源
查看Docker容器启动日志
执行以下命令查看应用启动日志,排查是否有Swagger相关报错:
docker logs <容器ID或名称>
重点关注是否有springdoc相关的加载日志,比如是否输出了Swagger UI的访问路径,或者有没有资源加载失败的异常。
内容的提问来源于stack exchange,提问作者Ádám Sütő
相关产品推荐
相关产品推荐

