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

Docker容器内Solr无法使用持久化存储的故障排查

Solr Docker部署挂载目录报错解决方法

问题根源

你将宿主机空目录./data直接挂载到容器的/var/solr,覆盖了容器原生/var/solr下的目录结构——Solr默认的home目录是/var/solr/data,挂载后该目录不存在,导致precreate-core脚本无法创建核心目录,最终Solr启动失败。

修复步骤

1. 调整挂载路径

修改docker-compose.yml中Solr服务的volumes配置,不要覆盖整个/var/solr,仅持久化核心数据所在的/var/solr/data目录:

version: '3'

services:
  solr:
    image: solr
    ports:
     - "8983:8983"
    volumes:
      - ./data:/var/solr/data  # 修改为挂载到/var/solr/data
    entrypoint:
    - bash
    - "-c"
    - "precreate-core stable; precreate-core unstable; precreate-core archive; exec solr -f"

# 移除无用的命名卷定义,因为使用的是绑定挂载
# volumes:
#   data:

2. 确保宿主机目录权限正确

如果之前操作导致目录权限异常,执行以下命令初始化:

mkdir -p ./data
chown -R 8983:8983 ./data

3. 重启容器

docker-compose down
docker-compose up -d

验证

容器启动后,检查宿主机./data目录,会自动生成stable、unstable、archive三个核心的目录结构,同时Solr可正常访问http://localhost:8983。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 08:34:56