在docker中运行solr实例

我正在尝试编写一个shell脚本来在docker容器中运行solr。 我写了下面的脚本,但它不工作。 但是,当我在terminal中一步一步地给出相同的命令时,它工作正常。

#!/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 

我相信solr docker的创build者并没有使用卷,这使得持久性/configuration更难。 你得到的错误是solr没有运行时的错误。

create_core命令只是发布到本地主机solr。

不同的/更好的方法是创build核心作为构build的一部分。 创build一个Dockerfile并进行扩展。

我的Dockerfile创build一个核心:

 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和另一个导演(conf),其中包含schema.xml和solrconfig.xml