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

Docker部署QuestDB报errno=2无法打开文件但文件实际存在

问题原因
  • Docker容器与宿主机文件系统隔离:当前启动命令仅挂载了QuestDB自身的存储卷,未将宿主机存放CSV的/home/user/d1_data目录映射到容器内部。容器内不存在/home/user/d1_data路径,无法访问宿主机上的对应文件,宿主机可读不代表容器内存在对应路径、可访问该文件。
  • COPY导入安全配置无效:cairo.sql.copy.root是QuestDB的导入路径白名单配置,作用是限定COPY命令可访问的文件根目录,配置为空时等于没有开放任何允许导入的文件路径,即使文件在容器内存在也会被拦截读取。
  • 导入命令路径写法错误:COPY命令读取的是容器内的文件路径,直接填写宿主机绝对路径无法匹配容器内的文件位置。
修复步骤
  1. 强制删除现有异常容器:
docker rm -f docker_questdb
  1. 修改QuestDB的server.conf配置,为cairo.sql.copy.root指定容器内的专用导入目录,示例:
cairo.sql.copy.root=/opt/questdb/import
  1. 重新启动容器,新增目录挂载参数,将宿主机存放CSV的本地目录映射到上一步配置的容器内导入路径:
docker run -p 9000:9000 \
  --memory="100g" \
  --name docker_questdb \
  -v questdb:/root/.questdb \
  -v /home/user/d1_data:/opt/questdb/import \
  questdb/questdb
  1. 连接QuestDB执行导入命令,此时直接填写CSV文件名即可,系统会自动从配置的导入根目录查找文件:
COPY d1temp FROM 'd1.csv';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 02:09:09