在docker中运行solr实例

时间:2015-07-23 08:01:52

标签: shell solr docker

我正在尝试编写一个shell脚本来在docker容器中运行solr。我写了以下脚本,但它不起作用。但是当我在终端中逐步提供相同的命令时,它可以正常工作。

#!/bin/bash
#pull solr image
docker pull makuk66/docker-solr

#run solr on a single server
SOLR_CONTAINER=$(docker run -d -p 8983:8983 -t makuk66/docker-solr)

#create solr core
docker exec -it --user=solr $SOLR_CONTAINER bin/solr create_core -c gettingstarted

#load data using bin/post from example directory in solr installation directory
docker exec -it --user=solr $SOLR_CONTAINER bin/post -c gettingstarted example/films/films.json

1 个答案:

答案 0 :(得分:0)

我相信solr docker的创建者没有使用卷等等,这使得持久性/配置变得更难。您获得的错误是solr未运行时出现的错误。

create_core命令只发布到localhost的solr。

不同/更好的方法是将核心创建为构建的一部分。创建一个Dockerfile并扩展。

创建核心的我的Dockerfile:

FROM makuk66/docker-solr
WORKDIR /opt/solr/server/solr/
ADD . /opt/solr/server/solr/
USER root
RUN chown -R solr /opt/solr/server/solr
USER solr

那是ADD。是添加一个目录(我的核心),其中包含一个空的core.properties和另一个包含schema.xml和solrconfig.xml的导演(conf)