使用Docker时的Spring Boot外部配置

时间:2015-01-21 21:33:24

标签: java docker spring-boot

我正在开发一个我想用Docker部署的Spring Boot应用程序。

我遇到的麻烦是我们需要在服务器上存储属性文件,类似于Tomcat允许您将属性文件放在/ lib中的方式。

在Docker中运行时,如何让Spring Boot使用此文件?

2 个答案:

答案 0 :(得分:2)

Docker使用Volumes:

提供a way to do this
  

除了使用-v标志创建卷之外,您还可以将自己主机中的目录安装到容器中。

$ sudo docker run -d -P --name yourapp -v /lib:/lib yourcontainer/name

因此,在您的容器化应用程序中,您只需查看/ lib(或任何您方便安装它的地方),并在预订容器时指定要安装的主机目录。

我使用的另一个选项是创建一个只包含配置的容器(使用busybox或小东西),然后从其中导出一个目录作为您在其他容器中共享的卷。这确实在您必须管理的容器之间建立了依赖关系,但它为您提供了对配置进行版本化的好处,而不必让它只是位于主机文件系统上。

上述链接讨论了这两种策略。

答案 1 :(得分:0)

您也可以直接覆盖application.properties文件:

docker run -v custom.properties:/data/application.properties spring-boot-app