一、简介
Solr 是 Apache 下的一个顶级开源项目,采用 Java 开发,它是基于 Lucene 的全文搜索服务器。Solr 可以独立运行在 Jetty、Tomcat 等这些 Servlet 容器中。Solr 提供了比 Lucene 更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
二、部署 Solr
打开 Docker 然后在终端执行下面命令,首先部署一个没有目录映射的 Solr 服务。然后将容器内部 Solr 相关文件拷贝到物理机,这里安装的是 8.11.3 Tag 版本,如果需要安装其他或者最新版本,可以到 Docker Hub 进行查找。即可。
docker run -d -p 8983:8983 --name solr-8.11.3 -t solr:8.11.3
拷贝容器内 Solr 文件到物理机,拷贝之前确保 /Users/admin/ProgramDatas/Docker/Containers/solr-8.11.3 目录下,没有 solr、data 两个目录。拷贝完后,将前面启动的 solr 容器删除掉。
docker cp solr-8.11.3:/opt/solr/ /Users/admin/ProgramDatas/Docker/Containers/solr-8.11.3/solr
docker cp solr-8.11.3:/var/solr/ /Users/admin/ProgramDatas/Docker/Containers/solr-8.11.3/data
-参数 solr-8.11.3:/opt/solr/ 指定名为 solr-8.11.3 容器内的安装目录 /opt/solr/ 进行拷贝。
-参数 solr-8.11.3:/var/solr/ 指定名为 solr-8.11.3 容器内的数据目录 /var/solr/ 进行拷贝。
然后在 PowerShell 执行下面命令,即可启动一个 Solr 服务。
docker run --restart=always -d -p 8983:8983 --name solr-8.11.3 -t --privileged=true -v /Users/admin/ProgramDatas/Docker/Containers/solr-8.11.3/solr:/opt/solr -v /Users/admin/ProgramDatas/Docker/Containers/solr-8.11.3/data:/var/solr solr:8.11.3
-参数 --restart always 在容器退出时总是重启容器。
-参数 --privileged=true 让容器拥有物理机 root 用户一样的权限。
-参数 -v /Users/admin/ProgramDatas/Docker/Containers/solr-8.11.3/solr:/opt/solr 映射容器内 solr 安装目录到物理机的 /Users/admin/ProgramDatas/Docker/Containers/solr-8.11.3/solr 目录。
-参数 -v /Users/admin/ProgramDatas/Docker/Containers/solr-8.11.3/data:/var/solr 映射容器内 solr 数据目录到物理机的 /Users/admin/ProgramDatas/Docker/Containers/solr-8.11.3/data 目录。
三、Solr 控制台
打开浏览器, 使用 8983 端口 http://localhost:8983/ 进行访问,可以看到 Solr 控制台面板。