java - spring boot + docker + kubernetes

标签 java spring-boot docker kubernetes

我们有三个环境(开发、测试和生产),我们有如下数据库配置

spring:
  jpa:
    hibernate:
      ddl-auto: update
  datasource:
    url: ${URL}
    username: ${USERNAME}
    password: ${PASSWORD}

我正在尝试的是创建 jar,然后构建镜像,当部署到 kubernetes 时,我将使用 dev、test 和 prod 各自的 deployment.yaml,我将在其中加载 url、用户名和 env 的密码,以便应用程序将在产品启动期间读取它

因此,当我尝试构建 jar 应用程序时,尝试连接到数据库,但它未能创建 jar。

请让我知道我的理解是错误的还是正确的,如果错误那么如何纠正它,只有一件事是我不能改变这个过程,即 jar + image + kubernetes

最佳答案

在 Kubernetes 中,您可以将配置放在 Configmap 或 Secret 中。您可以打包 spring boot 应用程序并提供 Configmap 条目作为容器的 env 变量,如公开的 here

使用 Spring Cloud Kubernetes,您还可以读取这些属性,而无需对容器进行任何配置,如本 article 中所述。

关于java - spring boot + docker + kubernetes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57933305/

相关文章:

linux - 现有文件的 Docker "not found"

java - 作为过程的功能的动态(树形)结构(以及Clojure中的实现)

java - 在 JMock 中访问包私有(private)类时出现 IllegalAccessError

java - Spring JPAFailed to convert from type [java.lang.String] to type [java.lang.Long] for value 'Why?'

java - Spring 将属性文件中的值读取到 @SpringBootApplication 类中

java - 由于池初始化期间发生 HikariPool 异常,无法部署 Spring boot 2 应用程序

java - 为什么盐应该与散列值具有相同的长度?

java - 无法在 java.util.Scanner 中设置字符编码

docker - 如何让不同的 Docker 容器相互通信而不将端口暴露给全世界

python - 使用python异步运行docker容器