Docker现在越来越火,所有的应用程序都想Docker一下,但是并没有听说在Docker上运行Solr。在没有Docker之前要想使用Solr需要在宿主机安装JDK,安装Tomcat,下载Solr程序。随着Docker的出现,为Solr创建、维护和部署过程的工作可能大大简化。这篇文章不是Solr的教程和Docker的教程,如果你需要,请移步SolrDocker的官方文档学习。

我们必须清楚以下几点:
1、将Solr的配置文件放在本地文件夹。
2、将所有的Core放在本地文件夹。
3、将扩展词放在本地文件夹。

首先拉取solr官方镜像,这里选择6.6版本

docker pull solr:6.6

拉取完成后先别急着去运行一个容器,先在宿主机上创建一个文件夹,这个文件夹就是用来存放所有的core和每个core的配置,等会儿将这个文件夹挂载到容器内部。

mkdir -p /usr/local/DockerSolrShared/server/solr

修改文件的权限

chown 8983:8983 /usr/local/DockerSolrShared/server/solr

将core的所有基础配置文件拷贝到此文件夹下

cp -r /usr/local/solr-6.6.0/server/solr/* /usr/local/DockerSolrShared/server/solr

运行solr容器

docker run --privileged=true  -v /usr/local/DockerSolrShared/server/solr:/opt/solr/server/solr -d -p 8983:8983 -t solr:6.6

-v 参数冒号之前是宿主机目录,冒号之后是容器目录,容器运行起来就会将刚刚创建好的文件夹挂载到容器内部。
进入容器内部,尝试着去创建一个core

docker exec -it <容器名称> /bin/bash
bin/solr create -c testcore

输入exit退出容器
我们在宿主机上也能看到刚刚创建的core

如果想配置中文分词,可以直接拷贝文件从宿主机到容器内部,这里我也准备好了

docker cp /usr/local/solr-6.6.0/server/solr-webapp/webapp/WEB-INF/lib/IKAnalyzer2012FF_u1-6.51.jar <容器名称>:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib/
docker cp /usr/local/solr-6.6.0/server/solr-webapp/webapp/WEB-INF/classes  <容器名称>:/opt/solr/server/solr-webapp/webapp/WEB-INF/

也可以配置数据导入

docker cp /usr/local/solr-6.6.0/contrib/dataimporthandler/lib <容器名称>:/opt/solr/contrib/dataimporthandler/ 注意:lib目录下必须有solr-dataimporthandler-6.6.0.jar文件
docker cp /usr/local/solr-6.6.0/contrib/db <容器名称>:/opt/solr/contrib/ 注意:db目录下应该有lib目录,lib目录下应该有mysql-connector-java-5.1.25-bin.jar文件

每个core的solrconfig.xml添加以下配置

<lib dir="${solr.install.dir:../../../..}/contrib/dataimporthandler/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/db/lib" regex=".*\.jar" />

也可以将现在这个容器重新构建成一个新的容器省的每次运行一个容器都要做这些繁琐的配置,如果你确定这样做的话,请忽略创建testcore的过程。

docker commit <容器名称> <起个新镜像的名字>:<版本号>

Running Solr in Docker的更多相关文章

  1. Running Solr with Maven

    Solr is an open source search server which is built by using the indexing and search capabilities of ...

  2. Running Elixir in Docker Containers

    转自:https://www.poeticoding.com/running-elixir-in-docker-containers/ One of the wonderful things abou ...

  3. VMWare File Format Learning && Use VHD File To Boot VMWare && CoreOS Docker Configuration And Running

    目录 . Virtual Machine Introduce . Vmware Image File Format . VHD File Format . Convert VHD File Into ...

  4. Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

    Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 是由 ...

  5. Docker+Solr

    原文:Docker+Solr docker 内的solr并不是部署在tomcat里,而是自启动的.默认的home是/opt/solr/server/solr # docker search solr ...

  6. 原 docker 安装使用 solr

    1.安装solr 7.5 docker solr 官网:https://hub.docker.com/_/solr/ docker pull solr:7.5.0 2.启动solr服务 docker ...

  7. Linux的docker安装solr并创建core

    查看solr列表 docker search solr 拉取solr镜像[注:这里默认latest],由于之前下载过 docker pull solr 启动一个做了端口映射的solr[-d:后台运行, ...

  8. 【整理】【docker】【Linux】整理笔记

    1.Linux安装docker 参考文章:https://blog.csdn.net/yanpenglei/article/details/78944553 Docker 要求系统的内核版本高于 3. ...

  9. useful commands for docker beginner

    You may want to add my wechat public account or add my technical blog's RSS feed This list is meant ...

随机推荐

  1. hdu5304 Eastest Magical Day Seep Group&#39;s Summer 状压dp+生成树

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5304 16个点的无向图,问能生成多少个n条边的连通图.(即多一条边的树) 先n^3 * 2^n 枚举全部的 ...

  2. 九种迹象表明你该用Linux了

    实际上.你每天都或多或少的不知不觉地在使用Linux系统. 在webserver领域中,Linux是占主导地位的操作系统.包含你如今正在浏览的页面的后台,都是跑在Linux上的.甚至你整天不离手的An ...

  3. 基于MATLAB的人脸识别算法的研究

    基于MATLAB的人脸识别算法的研究 作者:lee神 现如今机器视觉越来越盛行,从智能交通系统的车辆识别,车牌识别到交通标牌的识别:从智能手机的人脸识别的性别识别:如今无人驾驶汽车更是应用了大量的机器 ...

  4. ResourceBundle读取文件学习

    开发中,我们经常需要读取本地文件(properties文件),这样的好处是文件是动态的,可配置的.这时候我们就需要用到ResourceBundle这个类. 这个类属于java.util.*. 这个类的 ...

  5. 【Jquery系列】之DOM属性

    1   概述 本章将结合JQuery官方API,对Jquery属性进行分析与讲解.主要讲.addClass(),.attr(),,hasClass(),,html(),.prop(),.removeA ...

  6. String、StringBuilder和StringBuffer类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  7. 《认知与设计:理解UI设计准则》【PDF】下载

    <认知与设计:理解UI设计准则>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382276 内容介绍 <图灵交互设计丛书·认 ...

  8. 用HTML5和原生js实现放大局部图片

    drawImage方法 context.drawImage(image,sx,sy,sh,dx,dy,dw,dh) sx\sy起始图像的横纵坐标,sh\sd起始图像的大小,dx\dy复制图像的横纵坐标 ...

  9. 阅读MDN文档之层叠与继承(二)

    目录 The cascade Importance Specificity Source order A note on rule mixing Inheritance Controlling inh ...

  10. 1.Nginx服务应用

    Nginx服务应用 Nginx的优点和作用 Nginx是一款高性能的HTTP和反向代理的服务器软件,还是一个IMAP/POP3/SMTP(邮件)代理服务器! Nginx在功能实现上都采用模块化结构设计 ...