如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Solr 是一款基于 Apache Lucene™ 构建的流行、高性能开源企业级搜索平台。本 Docker 镜像封装了 Solr 服务,提供开箱即用的部署方案,适用于快速搭建搜索服务、索引管理及数据检索场景。镜像旨在简化 Solr 的部署流程,支持灵活配置和扩展,满足不同规模的企业搜索需求。
从 Docker Hub 拉取官方维护的 Solr 镜像(基于 https://github.com/wodby/solr 仓库):
bashdocker pull wodby/solr:latest # 拉取最新版本,建议指定具体版本号(如 9.4.0)以避免兼容性问题
4.2.1 单节点快速启动(docker run)
通过 docker run 命令启动单节点 Solr 服务,默认创建一个核心(core)并暴露 Web 管理界面:
bashdocker run -d \ --name solr \ -p 8983:8983 \ # 映射 Solr 默认端口(8983)到主机 -e SOLR_CORE=mycore \ # 指定初始化核心名称(首次启动时自动创建) -v solr-data:/var/solr/data \ # 挂载数据卷持久化索引数据 wodby/solr:latest
启动后,通过 http://localhost:8983 访问 Solr Admin UI,核心 mycore 已自动创建。
4.2.2 docker-compose 配置示例(推荐生产环境)
使用 docker-compose.yml 配置更复杂的部署(如指定堆大小、日志级别、持久化路径等):
yamlversion: '3.8' services: solr: image: wodby/solr:9.4.0 # 指定具体版本 container_name: solr restart: always # 服务异常时自动重启 ports: - "8983:8983" # 管理界面及 API 端口 volumes: - ./solr-data:/var/solr/data # 本地目录挂载,持久化索引数据 - ./solr-config:/opt/solr/server/solr/configsets # 挂载自定义配置集(可选) environment: - SOLR_CORE=mycore # 初始化核心名称 - SOLR_HEAP_SIZE=2g # JVM 堆大小(根据服务器资源调整,建议为物理内存的 50%) - SOLR_LOG_LEVEL=INFO # 日志级别(DEBUG/INFO/WARN/ERROR) - SOLR_JAVA_MEM="-Xms2g -Xmx2g" # 自定义 JVM 内存参数(覆盖 SOLR_HEAP_SIZE) - SOLR_PORT=8983 # 容器内服务端口(默认 8983,一般无需修改) networks: - solr-network # 自定义网络隔离 networks: solr-network: driver: bridge volumes: solr-data: # 若使用命名卷,需提前创建:docker volume create solr-data
启动命令:
bashdocker-compose up -d # 后台启动服务 docker-compose logs -f # 查看实时日志
4.3.1 创建/删除核心
除启动时通过 SOLR_CORE 自动创建核心外,也可通过 Solr Admin UI 或命令行手动管理:
bashdocker exec -it solr solr create_core -c newcore -d basic_configs # 使用默认配置集创建核心 newcore
bashdocker exec -it solr solr delete_core -c newcore
4.3.2 自定义索引配置
如需修改索引字段(如分词器、字段类型),可挂载自定义配置集(configsets):
./solr-config/myconfig),包含 solrconfig.xml(索引配置)和 schema.xml(字段定义);docker-compose.yml 中挂载该目录到容器内的 /opt/solr/server/solr/configsets:
yamlvolumes: - ./solr-config:/opt/solr/server/solr/configsets
bashdocker exec -it solr solr create_core -c mycore -d /opt/solr/server/solr/configsets/myconfig
| 环境变量名 | 默认值 | 描述 |
|---|---|---|
SOLR_CORE | 空 | 启动时自动创建的核心名称,若为空则需手动创建核心。 |
SOLR_HEAP_SIZE | 512m | Solr JVM 堆大小(如 2g),优先级低于 SOLR_JAVA_MEM。 |
SOLR_JAVA_MEM | 空 | 自定义 JVM 内存参数(如 -Xms2g -Xmx2g),覆盖 SOLR_HEAP_SIZE。 |
SOLR_LOG_LEVEL | INFO | 日志级别,可选 DEBUG/INFO/WARN/ERROR。 |
SOLR_PORT | 8983 | 容器内 Solr 服务端口,需与端口映射保持一致。 |
SOLR_AUTH_TYPE | 空 | 认证类型,可选 basic(Basic Auth),启用需配合 SOLR_AUTH_USER 和 SOLR_AUTH_PASSWORD。 |
SOLR_AUTH_USER | 空 | Basic Auth 用户名(仅 SOLR_AUTH_TYPE=basic 时生效)。 |
SOLR_AUTH_PASSWORD | 空 | Basic Auth 密码(仅 SOLR_AUTH_TYPE=basic 时生效)。 |
SOLR_ZK_HOST | 空 | SolrCloud 模式下 ZooKeeper 集群地址(如 zk1:2181,zk2:2181/solr)。 |
Solr 的索引数据默认存储在容器内的 /var/solr/data 目录,为避免容器重启后数据丢失,需通过数据卷挂载持久化该目录:
yamlvolumes: - solr-data:/var/solr/data # 命名卷由 Docker 管理,路径在 `/var/lib/docker/volumes/`
yamlvolumes: - ./solr-data:/var/solr/data # 本地目录需确保权限正确(如 `chmod 777 ./solr-data`)
4.6.1 启用 Basic Auth
生产环境需启用认证以保护管理界面和 API,通过环境变量配置:
yamlenvironment: - SOLR_AUTH_TYPE=basic - SOLR_AUTH_USER=admin - SOLR_AUTH_PASSWORD=SecurePassword123!
访问时需通过 http://admin:SecurePassword123!@localhost:8983 认证。
4.6.2 网络隔离
通过 Docker 网络限制 Solr 服务仅允许内部应用访问,避免直接暴露公网:
yamlnetworks: - backend-network # 与应用服务共享同一网络,不暴露 8983 端口到主机
wodby/solr:9.4.0),避免 latest 标签自动更新导致兼容性问题。SOLR_HEAP_SIZE(建议不超过物理内存的 50%),并配置 CPU 限制(如 cpus: 2)。/var/solr/data 目录(如通过 docker exec solr tar -czf /backup/solr-data-$(date +%F).tar.gz /var/solr/data)。以下是 wodby/solr 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


来自真实用户的反馈,见证轩辕镜像的优质服务