小编Dam*_*mon的帖子

如何使用 Spring Boot 在 AWS 上托管的 docker 容器内加载静态文件?

我的 SpringBoot 应用程序在一个由 Dockerfile 构建并托管在 AWS ubuntu 实例上的 Docker 容器中运行。一切都工作正常,除了我有一个图像、一个 css 文件和一个 js 文件无法加载。检查页面后,这些文件显示 404 未找到错误。我已使用winscp 将文件上传到我的aws 实例。myApp 文件夹是我的 docker 文件所在的位置以及构建容器的位置。

目录结构是:

myApp
  -Dockerfile
  -target
     -myApp.jar
  -src
     -main
        -java
            -[all my code in respective subdirectories]
        -resources
            -static
               -my.js
               -my.css
               -my.jpg
            -templates
               -folder1
                    -html
                    -html2
               -folder2
                    -html
                    -html2
Run Code Online (Sandbox Code Playgroud)

我几乎可以肯定我的问题出在 docker 容器和我的 dockerfile 上。

Spring Boot 自动在 /src/main/resources/static 中查找静态文件。我想我的 docker 容器没有这个文件结构。

这是我的 Dockerfile

FROM ubuntu:latest

RUN apt-get update && apt-get install -y openjdk-14-jdk

WORKDIR /usr/local/bin/myApp

ADD . /src/main/resources/static

ADD target/myapp.jar .

ENTRYPOINT …
Run Code Online (Sandbox Code Playgroud)

static-files amazon-web-services docker spring-boot

5
推荐指数
1
解决办法
5168
查看次数