请帮我docker-compose
文件。现在,我在docker文件中使用Solr,但我需要将其更改为SolrCloud。我需要2个Solr实例,一个内部Zookeeper和docker(本地)。这是我做的docker-compose
文件的一个例子:
version: "3"
services:
mongo:
image: mongo:latest
container_name: mongo
hostname: mongo
networks:
- gsec
ports:
- 27018:27017
sqlserver:
image: microsoft/mssql-server-linux:latest
hostname: sqlserver
container_name: sqlserver
environment:
SA_PASSWORD: "#Password123!"
ACCEPT_EULA: "Y"
networks:
- gsec
ports:
- 1403:1433
solr:
image: solr
container_name: solr
ports:
- "8983:8983"
networks:
- gsec
volumes:
- data:/opt/solr/server/solr/mycores
entrypoint:
- docker-entrypoint.sh
- solr-precreate
- mycore
volumes:
data:
networks:
gsec:
driver: bridge
先谢谢你。
Solr docker实例嵌入了一个zookeeper服务器。您只需使用正确的参数启动Solr并在docker-compose文件中添加zookeeper端口9983:9983
:
solr:
image: solr
container_name: solr
ports:
- "9983:9983"
- "8983:8983"
networks:
- gsec
volumes:
- data:/opt/solr/server/solr/mycores
entrypoint:
- docker-entrypoint.sh
- solr
- start
- -c
- -f
SolrCloud基本上是一个Solr集群,其中Zookeeper用于协调和配置集群。
通常你将SolrCloud与Docker一起使用,因为你正在学习它是如何工作的,或者是因为你准备你的应用程序(本地?)来在更大的环境中部署。
另一方面,如果您没有分布式配置,即在不同节点上运行Solr和Zookeeper,则运行SolrCloud没有多大意义。
当您每秒进行数百甚至数千次搜索并收集数百万甚至数十亿个文档时,SolrCloud就是您需要的一种群集。
您的群集必须水平缩放。
与外部zookeeper一起使用的版本。
'-t'更改容器中的数据目录。
要查看运行的其他选项:solr start -help
version: '3'
services:
solr1:
image: solr
ports:
- "8984:8984"
entrypoint:
- solr
command:
- start
- -f
- -c
- -h
- "10.1.0.157"
- -p
- "8984"
- -z
- "10.1.0.157:2181,10.1.0.157:2182,10.1.0.157:2183"
- -m
- 1g
- -t
- "/opt/solr/server/solr/mycores"
volumes:
- "./data1/mycores:/opt/solr/server/solr/mycores"