bitnami/solrApache Solr 是一个基于 Apache Lucene 构建的极其强大的开源企业搜索平台。它高度可靠、灵活、可扩展,旨在部署后快速带来价值。
Apache Solr 概述 商标声明:本软件列表由 Bitnami 打包。产品中提及的各个商标分别归各自公司所有,使用这些商标并不意味着任何关联或背书。
consoledocker run --name solr bitnami/solr:latest
您可以在环境变量部分找到可用的配置选项。
自2025年8月28日起,Bitnami 将改进其公共目录,在新的Bitnami Secure Images计划下提供精选的强化、安全聚焦镜像集。作为此过渡的一部分:
这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提高所有 Bitnami 用户的安全态势。有关更多详情,请访问Bitnami Secure Images 公告。
只有部分 BSI 应用程序可免费使用。希望访问整个应用程序目录以及企业支持?立即尝试Bitnami Secure Images 商业版。
Dockerfile 链接了解更多关于 Bitnami 标签策略以及滚动标签和不可变标签之间的区别,请参阅我们的文档页面。
您可以通过查看分支文件夹中存在的 tags-info.yaml 文件(即 bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml)来了解不同标签之间的对应关系。
通过关注 bitnami/containers GitHub 仓库 订阅项目更新。
获取 Bitnami solr Docker 镜像的推荐方式是从 Docker Hub Registry 拉取预构建镜像。
consoledocker pull bitnami/solr:latest
要使用特定版本,您可以拉取带版本的标签。您可以在 Docker Hub Registry 中查看可用版本列表。
consoledocker pull bitnami/solr:[TAG]
如果需要,您也可以通过克隆仓库、切换到包含 Dockerfile 的目录并执行 docker build 命令来自行构建镜像。请记住将下面示例命令中的 APP、VERSION 和 OPERATING-SYSTEM 路径占位符替换为正确的值。
consolegit clone [***] cd bitnami/APP/VERSION/OPERATING-SYSTEM docker build -t bitnami/APP:latest .
如果您删除容器,所有数据和配置都将丢失,下次运行镜像时数据库将重新初始化。为避免数据丢失,您应该挂载一个在容器删除后仍能持久化的卷。
为实现持久化,您应该在 /bitnami 路径挂载卷。上述示例定义了一个名为 solr_data 的 docker 卷。只要此卷未被删除,Solr 应用状态就会持久化。
为避免意外删除此卷,您可以将主机目录挂载为数据卷。或者,您也可以使用卷插件来托管卷数据。
consoledocker run -v /path/to/solr-persistence:/bitnami bitnami/solr:latest
或者修改此仓库中存在的 docker-compose.yml 文件:
yamlsolr: ... volumes: - /path/to/solr-persistence:/bitnami ...
注意:由于这是一个非 root 容器,挂载的文件和目录必须对 UID
1001具有适当的权限。
使用 Docker 容器网络,在容器内运行的 Solr 服务器可以轻松被您的应用容器访问。
连接到同一网络的容器可以使用容器名称作为主机名进行通信。
consoledocker network create solr-network --driver bridge
使用 --network <NETWORK> 参数执行 docker run 命令,将容器附加到 solr-network 网络。
consoledocker run --name solr-node1 --network solr-network bitnami/solr:latest
您可以使用 docker run 命令中的相同标志(--network NETWORK)启动其他容器。如果您也为容器设置了名称,则可以在网络中将其用作主机名。
未指定时,Docker Compose 会自动设置一个新网络,并将所有部署的服务附加到该网络。不过,我们将显式定义一个名为 solr-network 的新桥接网络。
yamlversion: '2' networks: solr-network: driver: bridge services: solr-node1: image: bitnami/solr:latest networks: - solr-network ports: - 8983:8983 solr-node2: image: bitnami/solr:latest networks: - solr-network ports: - 8984:8984
然后,使用以下命令启动容器:
consoledocker-compose up -d
| 名称 | 描述 | 默认值 |
|---|---|---|
SOLR_ENABLE_CLOUD_MODE | 以云模式启动 Solr | no |
SOLR_NUMBER_OF_NODES | Solr 云集群的节点数量 | 1 |
SOLR_HOST | Solr 主机名 | nil |
SOLR_JETTY_HOST | 配置监听特定 IP 地址或主机名 | 0.0.0.0 |
SOLR_HEAP | Solr 堆内存 | nil |
SOLR_SECURITY_MANAGER_ENABLED | Solr Java 安全管理器 | false |
SOLR_JAVA_MEM | Solr JVM 内存 | -Xms512m -Xmx512m |
SOLR_PORT_NUMBER | Solr 端口号 | 8983 |
SOLR_CORES | Solr 核心名称 | nil |
SOLR_COLLECTION | Solr 集合名称 | nil |
SOLR_COLLECTION_REPLICAS | Solr 集合副本数 | 1 |
SOLR_COLLECTION_SHARDS | Solr 集合分片数 | 1 |
SOLR_ENABLE_AUTHENTICATION | 启用身份验证 | no |
SOLR_ADMIN_USERNAME | 管理员用户名 | admin |
SOLR_ADMIN_PASSWORD | 管理员密码 | bitnami |
SOLR_CLOUD_BOOTSTRAP | 指示此节点是否执行引导操作 | no |
SOLR_CORE_CONF_DIR | Solr 核心配置目录 | ${SOLR_SERVER_DIR}/solr/configsets/_default/conf |
SOLR_SSL_ENABLED | 指示 Solr 是否启用 SSL | no |
SOLR_SSL_CHECK_PEER_NAME | 指示 Solr 是否检查对等名称 | false |
SOLR_SSL_KEY_STORE_PASSWORD | Solr SSL 密钥库密码 | nil |
SOLR_SSL_TRUST_STORE_PASSWORD | Solr SSL 信任库密码 | nil |
SOLR_ZK_MAX_RETRIES | 等待 ZooKeeper 配置操作完成时的最大重试次数 | 5 |
SOLR_ZK_SLEEP_TIME | 等待 ZooKeeper 配置操作完成时的休眠时间 | 5 |
SOLR_ZK_CHROOT | 存储 Solr 数据的 ZooKeeper ZNode 根路径,默认:/solr | /solr |
SOLR_ZK_HOSTS | ZooKeeper 节点(逗号分隔的 host:port 列表) | nil |
| 名称 | 描述 | 值 |
|---|---|---|
BITNAMI_VOLUME_DIR | 卷挂载目录 | /bitnami |
SOLR_BASE_DIR | Solr 安装目录 | ${BITNAMI_ROOT_DIR}/solr |
SOLR_JAVA_HOME | Java 安装目录 | ${BITNAMI_ROOT_DIR}/java |
SOLR_BIN_DIR | Solr 二进制可执行文件目录 | ${SOLR_BASE_DIR}/bin |
SOLR_TMP_DIR | Solr 临时文件目录 | ${SOLR_BASE_DIR}/tmp |
SOLR_PID_DIR | Solr PID 文件目录 | ${SOLR_BASE_DIR}/tmp |
SOLR_LOGS_DIR | Solr 日志文件目录 | ${SOLR_BASE_DIR}/logs |
SOLR_SERVER_DIR | Solr 服务器文件目录 | ${SOLR_BASE_DIR}/server |
SOLR_VOLUME_DIR | Solr 持久化目录 | ${BITNAMI_VOLUME_DIR}/solr |
SOLR_DATA_TO_PERSIST | 要持久化的 Solr 数据 | server/solr |
SOLR_PID_FILE | Solr PID 文件 | ${SOLR_PID_DIR}/solr-${SOLR_PORT_NUMBER}.pid |
SOLR_DAEMON_USER | Solr 系统用户 | solr |
SOLR_DAEMON_GROUP | Solr 系统组 | solr |
SOLR_ZK_CONNECTION_TIMEOUT | ZooKeeper 连接尝试超时时间(秒) | 10 |
启动 solr 镜像时,您可以通过在 docker-compose 文件或 docker run 命令行中传递一个或多个环境变量来调整实例配置。
这需要对本仓库中存在的 docker-compose.yml 文件进行 minor 修改:
yamlsolr: ... environment: - SOLR_CORES=my_core ...
consoledocker run -d -e SOLR_CORES=my_core --name solr bitnami/solr:latest
为了加载您自己的配置文件,您需要使这些文件对容器可用。您可以通过挂载卷到所需位置并设置带有自定义值的环境变量来实现(如上所述,默认值为 data_driven_schema_configs)。
这需要对本仓库中存在的 docker-compose.yml 文件进行 minor 修改:
yamlsolr: ... environment: - SOLR_CORE_CONF_DIR=/container/path/to/your/confDir volumes: - /local/path/to/your/confDir:/container/path/to/your/confDir ...
来自 Bitnami Secure Images 目录的 Bitnami Apache Solr Docker 镜像包含额外功能和设置,可将容器配置为具有 FIPS 功能。您可以配置以下环境变量:
OPENSSL_FIPS:OpenSSL 是否以 FIPS 模式运行。yes(默认)、no。Bitnami solr Docker 镜像将容器日志发送到 stdout。要查看日志:
consoledocker logs solr
或使用 Docker Compose:
consoledocker-compose logs solr
如果您希望以不同方式消费容器日志,可以使用 --log-driver 选项配置容器的日志驱动程序。在默认配置中,docker 使用 json-file 驱动程序。
Bitnami 会在 upstream 发布后尽快提供 solr 的最新版本,包括安全补丁。建议您按照以下步骤升级容器。
consoledocker pull bitnami/solr:latest
如果使用 Docker Compose,请将 image 属性的值更新为 bitnami/solr:latest。
使用以下命令停止当前运行的容器:
consoledocker stop solr
或使用 Docker Compose:
consoledocker-compose stop solr
接下来,使用以下命令对持久卷 /path/to/solr-persistence 进行快照:
consolersync -a /path/to/solr-persistence /path/to/solr-persistence.bkp.$(date +%Y%m%d-%H.%M.%S)
如果升级失败,您可以使用此快照恢复数据库状态。
consoledocker rm -v solr
或使用 Docker Compose:
consoledocker-compose rm -v solr
从新镜像重新创建容器,必要时恢复备份。
consoledocker run --name solr bitnami/solr:latest
或使用 Docker Compose:
consoledocker-compose up solr


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务