Docker下安装Solr

下载镜像

执行:docker pull solr:7.5.0

Docker下安装Solr

启动Solr容器

执行:docker run --name my-solr -d -p 8983:8983 -t solr:7.5.0

Docker下安装Solr

访问Solr管理后台

在浏览器中打开http://localhost:8983/solr/#/,即可进入solr管理界面

Docker下安装Solr

新建SolrCore

新建solrCore,名称为mycore,执行:docker run --name my-solr -d -p 8983:8983 -t solr:7.5.0

Docker下安装Solr
完成后,进入solr管理页面,在左侧的下拉框中选择core,这里选择刚才新建的mycore

Docker下安装Solr

Solr配置持久化

将容器中solr的配置拷贝到宿主机的共享volume中,实现配置持久化。由于我的共享volume是在F盘中,所以执行下面的命令:docker cp my-solr:/opt/solr/ f:/data/solr/

Docker下安装SolrDocker下安装Solr

设置中文分词库smartcn

  1. 以root身份进入容器内部:docker exec -it --user root my-solr /bin/bash
  2. 定位Solr7自带的中文分词jar包所在位置:/opt/solr/contrib/analysis-extras/lucene-libs
  3. 进入刚才创建的solr core 的位置:/opt/solr/server/solr/mycore/conf,修改 solrconfig.xml 添加 smartcn 包的 lib 标签
  4. 在managed-schema中添加中文分词的FieldType
  5. 将新增的配置同步到宿主的共享volume:docker cp my-solr:/opt/solr/server/solr/mycore/conf/solrconfig.xml f:/data/solr/solr/server/solr/mycore/conf/solrconfig.xml

docker cp my-solr:/opt/solr/server/solr/mycore/conf/managed-schema f:/data/solr/solr/server/solr/mycore/conf/managed-schema

  1. 重启solr: docker restart my-solr

Docker下安装Solr

Docker下安装Solr

Docker下安装Solr

Docker下安装Solr

常见问题

进入Docker的Solr容器,执行很多命令都报权限不足:Permission denied

解决办法:docker exec -it --user root my-solr /bin/bash