首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
华为云
V2EX  ›  Java

请教下为何 maven 打包生成的 war 包使用 Java -jar app.war 在 docker 中运行无法访问 swagger ui 但是物理机没问题?

  •  
  •   RobertWu185 · 93 天前 · 389 次点击
    这是一个创建于 93 天前的主题,其中的信息可能已经有所发展或是发生改变。

    maven 打包生成的 war 包在物理机直接 java -jar app.war 启动.

    可以访问 swagger ui(比如路劲 /swagger-ui/index.html)

    但是用 frolvlad/alpine-oraclejdk8:latest 的 docker 镜像运行上面的 war 包就只能访问接口,无法访问到 swagger ui 呢?

    自己试着追踪了下,发现运行在容器中的只能访问 swagger 的 api,比如 /management/logs,/swagger-resources/configuration/ui, api/profile-info 还有 /v2/api-docs.

    但是就是找不到 css,js,html 等静态文件,比如 /swagger-ui/index.html.

    这是为何呢?

    2 回复  |  直到 2018-08-23 23:53:21 +08:00
        1
    xuanbg   87 天前
    容器里面是不支持存储数据的,数据要么挂外部路径,要么挂数据卷来存储。
        2
    RobertWu185   87 天前
    感谢回答。但是 java -jar app.war 直接在容器中启动应用而已,swagger ui 的静态资源在 war 里啊,我也试着观察了,发现 war 包并没有释放文件到任何目录的。但是就是访问不了 swagger ui 的静态资源文件呢。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3461 人在线   最高记录 3821   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 30ms · UTC 03:46 · PVG 11:46 · LAX 19:46 · JFK 22:46
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1