停止在 Docker 镜像中打包应用程序本地属性

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

我有一个 Spring Boot 应用程序,其中包含多个

application-XXX.properties
配置文件。当我使用
jib
构建 Docker 镜像时,我注意到所有这些属性文件都打包在
/app/resouces
中的镜像中。

有没有办法只包含主要的

application.properties
并防止在 Docker 镜像中包含各种配置文件的特定属性?如果留在那里,可能会泄露一些敏感细节。

这是一些

jib
gradle 配置吗?

java spring-boot docker gradle jib
1个回答
0
投票

不要将它们包含在打包到 JAR 文件的文件夹中。我建议采用以下结构:

app
│
├── pom.xml
├── ext
│   └── application-localhost.properties
└── src
    ├── main
    │   ├── java
    │   │   └── ...
    │   └── resources
    │       └── application.properties
    └── test
        ├── java
        │   └── ...
        └── resources
            └── ...
  • src/main/resources
    是通过 JAR 打包和交付的资源。
  • ext
    是特定于每个环境的资源(例如 localhost)
    • 如果您在本地运行应用程序,请将
      ext
      目录标记为本地构建的资源。
    • 如果您在环境中运行应用程序,例如。 K8S 中的 Docker 容器,将外部属性挂载为 config-map。
© www.soinside.com 2019 - 2024. All rights reserved.