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

Spring boot with docker build mvn Spring boot:使用jvm参数构建映像

唐裕
2023-03-14

我正在尝试使用命令为我的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选项。

基本上,在旧的方法中,我创建dockerfile,然后给出通过-Dspring的入口点。忙碌的配置文件

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


共有1个答案

周楷
2023-03-14

终于解决了语法问题。下面的环境书写方法有效!

        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}
 类似资料:
  • ARG 构建参数 格式:ARG <参数名>[=<默认值>] 构建参数和 ENV 的效果一样,都是设置环境变量。所不同的是,ARG 所设置的构建环境的环境变量,在将来容器运行时是不会存在这些环境变量的。但是不要因此就使用 ARG 保存密码之类的信息,因为 docker history 还是可以看到所有值的。 Dockerfile 中的 ARG 指令是定义参数名称,以及定义其默认值。该默认值可以在构建

  • 问题内容: 我正在尝试 使用 官方链接中提到 的API 构建 docker镜像 。 但是我无法获得文件中的内容:示例请求: 有几件事使我感到困惑, 1)在哪里提到 Dockerfile 的 路径 ? 2)“归档文件必须在归档文件的根目录中包含一个构建指令文件,通常称为Dockerfile。” 来自docker docs的此声明,这里的困惑 是存档的根 是 什么 ? 3) 构建图像的详细命令 是什么

  • DockerFile: 在之后,GPG行显示为红色,图像创建失败。为什么?

  • 问题内容: 在阅读有关该主题的已问问题和大量谷歌搜索之后,我仍然无法清楚了解 -Xms 选项 我的问题是:和之间有什么区别? 现在,我有以下答案: 唯一的区别是在应用程序运行期间将运行的垃圾回收数量和内存分配数量。我对吗 ? 这是我获得此答案的原因: 将选项设置为不会导致我的应用程序在启动后真正占用物理内存。我想这与现代OS虚拟内存管理和惰性页面分配有关。(我注意到,在Linux上由top或Win

  • 我正在构建一个夸克原生可执行映像,但由于未知参数,它失败了。我在属性文件中使用了变量,但它不起作用。 我正在使用java 11。可以 有人有任何想法吗?谢谢!!!

  • 我正在尝试创建一个管道,使用JIB(通过Maven插件)创建docker图像,并将其推送到我的Gitlab注册表。 当我登录到docker注册表时,这在本地运行良好。 说我有一个。gitlab ci。yml看起来像: 现在我在管道被触发时得到一个异常 我假设我得到了这个错误,因为我还没有运行docker login-u[用户名]-p[密码/令牌] 我怎么会需要一个.gitlab-ci.yml,它使