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

如何升级QuestDB Docker版本且不丢失容器内的持久化数据

QuestDB跨版本容器数据迁移方案

QuestDB 5.x到6.x版本的存储格式完全向后兼容,无需做格式转换即可直接迁移原有数据,可按以下两种方案操作:

前置准备

首先停止旧版本容器,避免读写过程中拷贝数据导致文件损坏:

docker stop old_questdb

方案1:导出数据目录挂载到新容器(生产环境推荐)

QuestDB官方容器默认的数据存储路径为容器内的/root/.questdb目录,先将旧容器内的该目录拷贝到宿主机本地备份:

# 拷贝旧容器数据到当前目录下的questdb_data文件夹
docker cp old_questdb:/root/.questdb ./questdb_data

拷贝完成后启动6.0.4版本容器,直接挂载本地备份的数据目录即可:

docker run --name new_questdb \
-p 9000:9000 -p 9009:9009 \
-v ./questdb_data:/root/.questdb \
questdb/questdb:6.0.4-linux-amd64

启动完成后可先登录web控制台验证数据完整性,确认无问题后再删除旧容器即可。


方案2:直接复用旧容器匿名卷(临时测试使用)

如果不需要把数据落地到宿主机,也可以在启动新容器时直接继承旧容器的所有卷挂载配置:

docker run --name new_questdb \
-p 9000:9000 -p 9009:9009 \
--volumes-from old_questdb \
questdb/questdb:6.0.4-linux-amd64

注意:该方案下旧容器不能删除,一旦旧容器被删除,对应的匿名存储卷也会被Docker自动回收,会导致数据丢失。


验证建议

  • 首次启动新版本容器后,优先核对核心业务表的数据行数、时间范围是否和旧版本一致
  • 确认启动日志无报错、查询功能正常后再切换业务流量
  • 生产环境操作前务必先备份旧容器的完整数据目录

内容的提问来源于stack exchange,提问作者BurningFlan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:06:03