You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何持久化Quarkus DevServices数据库?是否支持挂载卷?

持久化Quarkus DevServices数据库的方法

Quarkus DevServices支持通过自定义Docker容器挂载卷来实现数据库数据持久化,虽然没有你设想的quarkus.datasource.devservices.volume这类直接配置,但可以通过以下方式实现:

1. 用容器启动参数配置挂载

针对不同数据库(如PostgreSQL、MySQL),可以通过quarkus.datasource.devservices.additional-properties传递容器启动参数,指定挂载已有的卷。

以PostgreSQL为例,配置如下:

# 将本地已有的Docker卷挂载到容器的数据存储目录
quarkus.datasource.devservices.additional-properties=--volume=some_volume:/var/lib/postgresql/data

如果是MySQL,只需调整容器内的数据目录路径:

quarkus.datasource.devservices.additional-properties=--volume=some_volume:/var/lib/mysql

2. 提前创建目标卷

在启动应用前,需要确保你指定的some_volume已经存在,执行以下命令创建:

docker volume create some_volume

3. 关键注意事项

  • 不同数据库的默认数据目录不同,需对应调整挂载路径,比如MariaDB也是/var/lib/mysql,Oracle XE则是/opt/oracle/oradata。
  • DevServices默认会在应用停止时销毁容器,但挂载的卷不会被删除,下次启动应用时复用该卷即可恢复之前的数据库数据。
  • 如果不需要复用已有卷,只是想固定持久化存储,也可以直接指定卷名,DevServices会自动创建该卷(若不存在)。

内容的提问来源于stack exchange,提问作者y.luis.rojo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 08:10:53