当前位置: 首页 > 知识库问答 >
问题:

在docker compose文件中访问Spring boot应用程序属性

蓝飞
2023-03-14
version: "3"
services:
  ui_application:
    image: ui_app
    build:
      context: ./ui_app
      dockerfile: Dockerfile
    ports:
      - "8080:8080"
    depends_on:
      - admin_portal_app
  admin_portal_app:
    image: admin_portal
     build:
      context: ./admin_app
      dockerfile: Dockerfile
    volumes:
      - ./logs:/logs

来自OpenJDK的Dockerfile:8-jdk-alpine ADD target/.war admin_portal.war ENTRYPOINT[“java”,“-jar”,“admin_portal.war”]来自OpenJDK的Dockerfile:8-jdk-alpine ADD target/.war ui_app.war ENTRYPOINT[“java”,“-jar”,“ui_app.war”]

    application.properties(Admin Portal API)
    spring.datasource.url = jdbc:mysql://mysql-standalone:3306/test
    spring.datasource.username = xxx
    spring.datasource.password = xxx
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    server.port=8090
    logging.file=./logs/adminportal.log

我想在docker-compose文件中外部化所有应用程序属性。请指导我

共有1个答案

刘狐若
2023-03-14

如果我正确理解了需求,那么您希望通过Docker-Compose注入spring属性。

您可以利用env变量进行相同的操作。执行以下操作:

>

  • 创建启动脚本并将其打包到映像中。
  • 在此脚本中,输入java start命令,如下所示

  •  类似资料:
    • 我在src/main/resources下创建了2个文件: 应用程序。属性 第一个具有从env变量中获取值的属性,而后者具有固定值。 根据这里的具体情况,我以这样的方式推出了Spring靴: 然而,不会产生任何影响,并且应用程序是局部的。属性似乎被忽略。 有什么提示吗?

    • 我的spring boot应用程序中目前只有两个类。第一个是main主引导应用程序类,另一个是服务类。我在应用程序类中声明了如下属性源文件: 其他类是FTPService,其中属性值in使用@value,如下所示: 它打印空。也尝试用下面的注释来注释FTPService,但不起作用。尝试将属性复制到Application.properties,但不起作用。 我的属性文件在src/main/reso

    • 我正在将一个非常基本的web应用程序部署到Google应用程序引擎。我使用的是Springboot,我可以在本地很好地运行应用程序,但当我部署到Google时,应用程序引擎不会启动实例。我在启动时配置了一个云SQL数据源。 我有云sql配置属性配置src/main/Resources/application.properties.App Engine似乎找不到这些属性,所以它无法正确设置Cloud

    • 如何从watchOS扩展文件夹访问iOS文件夹中的数据类。如果我想通过调用我的DataService来正常访问类,则会出现以下错误: 我要访问的文件:

    • 我试图在SpringMVC中运行SpringBoot应用程序,在SpringMVCPOM中添加SpringBoot应用程序依赖项,并扫描SpringBoot包,但我面临以下问题

    • 我有一个Spring Boot应用程序,代码需要访问resources文件夹下的一个文件。这是我的申请表。属性文件: 然而,它总是抱怨: 我仔细检查了文件夹my_project/target/classes,以确保文件cert.p12存在。 在代码中,我试图访问该文件: 这个类路径到底是什么?为什么它找不到文件?谢谢