下载镜像
执行:docker pull solr:7.5.0
启动Solr容器
执行:docker run --name my-solr -d -p 8983:8983 -t solr:7.5.0
访问Solr管理后台
在浏览器中打开http://localhost:8983/solr/#/,即可进入solr管理界面
新建SolrCore
新建solrCore,名称为mycore,执行:docker run --name my-solr -d -p 8983:8983 -t solr:7.5.0
完成后,进入solr管理页面,在左侧的下拉框中选择core,这里选择刚才新建的mycore
Solr配置持久化
将容器中solr的配置拷贝到宿主机的共享volume中,实现配置持久化。由于我的共享volume是在F盘中,所以执行下面的命令:docker cp my-solr:/opt/solr/ f:/data/solr/
设置中文分词库smartcn
- 以root身份进入容器内部:
docker exec -it --user root my-solr /bin/bash
- 定位Solr7自带的中文分词jar包所在位置:
/opt/solr/contrib/analysis-extras/lucene-libs
- 进入刚才创建的solr core 的位置:
/opt/solr/server/solr/mycore/conf,
修改solrconfig.xml
添加 smartcn 包的lib
标签 - 在managed-schema中添加中文分词的FieldType
- 将新增的配置同步到宿主的共享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
- 重启solr:
docker restart my-solr
常见问题
进入Docker的Solr容器,执行很多命令都报权限不足:Permission denied
解决办法:docker exec -it --user root my-solr /bin/bash