Plesk环境下Docker部署Solr的配置与访问问题咨询
Solr Docker部署问题解决方案(Plesk环境)
问题a:无法访问Solr管理页面
按以下步骤排查修复:
- 检查Docker端口映射
- 执行
docker ps查看Solr容器的端口映射,确认存在8983端口的映射规则(例如127.0.0.1:8983->8983/tcp或0.0.0.0:8983->8983/tcp)。 - 若未映射,重启容器时添加
-p 127.0.0.1:8983->8983/tcp(仅本地访问)或-p 0.0.0.0:8983->8983/tcp(公网访问)参数。
- 执行
- 验证容器内Solr服务状态
- 进入容器:
docker exec -it <solr容器ID/名称> bash - 执行
curl http://localhost:8983/solr/admin,若返回正常JSON数据,说明容器内服务正常;若失败,查看容器日志:docker logs <solr容器ID/名称>,排查启动报错(如Zookeeper连接异常)。
- 进入容器:
- 检查主机防火墙规则
- 除Plesk防火墙外,确认主机系统防火墙(如ufw、firewalld)已开放8983端口:
- Ubuntu/Debian:
ufw status - CentOS/RHEL:
firewall-cmd --list-ports
- Ubuntu/Debian:
- 未开放则添加规则,例如
ufw allow 8983/tcp。
- 除Plesk防火墙外,确认主机系统防火墙(如ufw、firewalld)已开放8983端口:
- 排查SOLR_JETTY_HOST配置冲突
- 若设置了
SOLR_JETTY_HOST=127.0.0.1,Solr仅监听容器内部回环地址,主机无法直接访问。需改为SOLR_JETTY_HOST=0.0.0.0(允许容器内所有网卡监听),配合端口映射实现本地/公网访问。
- 若设置了
确认Solr仅本地访问的配置有效性
- 进入Solr容器,执行
netstat -tulpn | grep 8983:- 若输出为
127.0.0.1:8983,说明Solr仅监听容器内部,需调整端口映射为127.0.0.1:8983->8983/tcp并将SOLR_JETTY_HOST改为0.0.0.0,才能让主机本地进程访问。 - 若输出为
0.0.0.0:8983,结合端口映射规则127.0.0.1:8983->8983/tcp,即可确保仅主机本地可访问,公网无法连接。
- 若输出为
问题b:设置Solr为西班牙语
按以下步骤配置:
- 设置容器环境变量
- 重启Solr容器时添加以下环境变量参数:
-e LANG=es_ES.UTF-8 -e LC_ALL=es_ES.UTF-8 -e SOLR_OPTS="-Duser.language=es -Duser.country=ES" - 注意:需使用
es_ES(大写国家代码),而非小写的es_es。
- 重启Solr容器时添加以下环境变量参数:
- 验证配置生效
- 进入容器执行
locale,确认输出中LANG和LC_ALL均为es_ES.UTF-8。 - 重启容器后访问Solr管理页面,界面语言应切换为西班牙语;若未生效,检查Solr启动日志是否有JVM参数加载报错。
- 进入容器执行
内容的提问来源于stack exchange,提问作者briast
相关产品推荐
相关产品推荐

