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. html页面高度自适应

    本文实现的效果是依据浏览器分辨率的不同.页面底端背景色自适应浏览器高度,也就是能够自己主动填充背景色. <script type="text/javascript"> ...

  2. Apriori算法的C++实现

    Apriori是经典的购物篮分析算法.该算法用SQL实现难度较大,所以考虑用C++实现. 花了两天,代码例如以下.原创转载请注明出处 //Apriori.c #include<iostream& ...

  3. BZOJ 1003 [ZJOI2006]物流运输trans SPFA+DP

    题意:链接 方法:SPFA+DP 解析:挺好的题目.因为数据范围较小所以用这样的方式能够搞,只是也是挺不好想的. 我们定义cost(i,j)表示从第i天走到第j天运用同一种方式的最小花费,然后因为数据 ...

  4. VS2010灵活运用快捷操作功能(总结)

    转载于:http://blog.csdn.net/trassion/article/details/7667814 1.快速using(这个的快捷键是ctrl+.) 2.快速回到之前编辑的代码页面现在 ...

  5. solr集群的理解和配置(待更新)

    solr部署在tomcat下,solr集群依赖tomcat集群和zookeeper集群: zookeeper:1.对象注册和发放中心,实现异步调用. 2.配置中心.(solrConfig.xml,sc ...

  6. Oracle11g不能导出空表问题

    ORACLE 11g 用exp命令导出库文件备份时,发现只能导出来一部分表而且不提示错误,之前找不到解决方案只能把没导出来的表重新建建立.后来发现是所有的空表都没有导出来.于是想好好查查,因为在以前的 ...

  7. Nodejs密集型CPU解决方案

    首先说一下nodejs单线程的优势: 高性能,与php相比,避免了频繁创建切换线程的开销,执行更加迅速,资源占用小. 线程安全,不用担心同一变量被多线程读写,造成程序崩溃. 单线程的异步和非阻塞,其实 ...

  8. ubuntu14 搭建单机版hadoop2.6

    1. 如果你的集群尚未安装所需软件,你得首先安装它们. 以Ubuntu Linux为例: $ sudo apt-get install ssh $ sudo apt-get install rsync ...

  9. K:正则表达式之基础简介

    正则表达式(regular expression 简称regex) 是一种工具,和其它工具一样是为了解决某一类问题而发明的.正则表达式是一些用来匹配和处理文本的字符串.平时主要用于查找和替换符合相应模 ...

  10. Oracle导入导出常用命令

    -- 全量导出 exp system/manager@TEST file=d:\daochu.dmp full=y -- 将数据库中system用户与sys用户的表导出 exp system/mana ...