首页 > 解决方案 > 使用 docker build mvn spring-boot:build-image 和 jvm 参数的 Spring Boot

问题描述

我正在尝试使用命令为我的 spring boot docker 构建 docker 映像

mvn spring-boot:build-image

下面是我的 docker-compose.yml

version: '3.3'
services:
    spring-boot-container:
        ports:
            - '7000:7000'
        environment:
            - SPRING_PROFILES_ACTIVE=${environment}
            - JASYPT_ENCRYPTOR_PASSWORD=${JASYPT_ENCRYPTOR_PASSWORD}
            - cloud_config_uri=${cloud_config_uri}
            - "JAVA_OPTS=-Dspring.cloud.config.uri=http://localhost:8888"   
        image: 'artifactory.cloud.health.com/docker-all/spring_boot_app:latest'
        restart: always
        container_name: spring_boot_app

但是我的 Spring Boot 应用程序没有提供正确的配置文件,也没有选择 java _opts。

基本上在旧方法中我创建 dockerfile,然后我给出ENTRYPOINT我通过的地方-Dspring.active.profiles

但是由于我们使用mvn spring-boot:build-image我不知道我们如何传递这些入口点变量。

标签: spring-bootdockerdocker-compose

解决方案


好的,终于解决了,它的语法问题。以下编写环境的方式有效!

        environment:
            - JAVA_OPTS=
                -Dspring.profiles.active=${environment}
                -Dspring.cloud.config.enabled=true
                -Dspring.cloud.config.uri=${cloud_config_uri}
                -Djasypt.encryptor.password=${JASYPT_ENCRYPTOR_PASSWORD}

推荐阅读