java - 使用 Docker 时的 Spring Boot 外部配置

标签 java docker spring-boot

我正在开发一个 Spring Boot 应用程序,我想使用 Docker 进行部署。

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

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

最佳答案

Docker 提供 a way to do this使用卷:

In addition to creating a volume using the -v flag you can also mount a directory from your own host into a container.

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

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

我使用的另一个选项是创建一个仅包含配置的容器(使用 busybox 或其他小工具),然后从其中导出一个目录作为您在其他容器中共享的卷。这确实在您必须管理的容器之间建立了依赖关系,但它使您能够对配置进行版本控制,而不必将其放在主机文件系统上。

这两种策略都在上面的链接中进行了讨论。

关于java - 使用 Docker 时的 Spring Boot 外部配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28077256/

相关文章:

java - 通过椭圆运算符将可变数量的参数转发到接受可变数量参数的函数

java - 两个并排的组件如何使一个组件占用尽可能少的空间?

postgresql - Docker,在包含 "ubuntu:14.04"的容器中安装 postgresql,离开容器时丢失

docker - 无法连接到 docker 容器内的网络

postgresql - 如何解决 postgresql 错误 "connection attempt failed"?

java - Ant 和带注释的 junit 测试

java - 如何在Java中捕获音频数据

git - Dep xxx 已恢复,但无法加载,错误为 : Package xxx not found

spring boot + thymeleaf 无法正确编码 POST 形式的 UTF-8 字符

amazon-web-services - 为 nginx SSL 添加 .ebextensions 后,SpringBoot 部署失败 - [执行命令 [app-deploy] 时发生错误]