Tag: spring boot configuration

部署到Docker时将外部化Spring引导属性

在我的Spring Boot应用程序中,我希望外部化这些属性以在Docker容器中运行。 首次部署时,应用程序按预期加载和使用当前位于my-server/src/main/resources/application.yml中的属性。 一切正常。 但是,我的问题是,我需要这些属性可以根据需要更新,所以我需要在Docker容器上访问一次application.yml文件。 但是在这一点上,在运行buildDocker任务之前,它不包含在build/docker/ buildDocker build/docker/目录中,所以在第一次部署之后不会被复制或访问。 所以,我所尝试的是将Yaml文件复制到docker docker/ build目录中,将其复制到可访问的目录( /opt/meanwhileinhell/myapp/conf ),并使用spring.config.location属性传递configuration到我的Dockerfile中的jar子: ENTRYPOINT ["java",\ … "-jar", "/app.jar",\ "–spring.config.location=classpath:${configDirectory}"] 看看在Docker容器上运行的命令,我可以看到这是预期的: /app.jar –spring.config.location=classpath:/opt/meanwhileinhell/myapp/conf] 但是,当我更新这个文件中的一个属性并重新启动Docker容器时,它不会接收这些更改。 文件权限是: -rw-r–r– 1 root root 618 Sep 5 13:59 application.yml 该文件指出: 当configuration自定义configuration位置时,除了默认位置之外,还会使用它们。 在默认位置之前search自定义位置。 我似乎无法弄清楚我在做什么错误或误解,但可能更重要的是,这是外部configuration这种types的Docker场景的正确方法?

使用SSH密钥进行Git并在Docker中运行的Spring Cloud Config Server

在最后把这些东西放在一起之前,我发现了许多问题和教程。 想要logging下来,这样别人可以节省很多小时的挫折。 我想在BitBucket上获得一个私人的git仓库,使用部署密钥来处理Spring Boot Config Server,并让它在Docker中运行。 我遇到了很多问题。 如何真正使用application.yml文件进行configuration。 我似乎无法弄清楚我应该把SSH的信息。 所有的教程似乎都是https。 如何提供configuration的私钥。 对于开发者来说,YML中内联的语法是一种痛苦。 对于生产,你必须通过一个环境variables来提供它,这是另一个语法杂事。 我不断收到一个私钥无效的错误。 如何让Docker容器相信主机密钥,而不用担心“你信任这个人”的提示。 似乎有几种方法来做这个工作,但只有一个为我工作。