# What is Solr? Solr is highly reliable, scalable and fault tolerant, providing distributed indexing, replication and load-balanced querying, automated failover and recovery, centralized configuration and more. Solr powers the search and navigation features of many of the world's largest internet sites. Learn more on [Apache Solr homepage](http://lucene.apache.org/solr/) and in the [Apache Solr Reference Guide](https://www.apache.org/dyn/closer.cgi/lucene/solr/ref-guide/). > [wikipedia.org/wiki/Apache_Solr](https://en.wikipedia.org/wiki/Apache_Solr) %%LOGO%% # How to use this Docker image To run a single Solr server: ```console $ docker run --name my_solr -d -p 8983:8983 -t solr ``` Then with a web browser go to `http://localhost:8983/` to see the Admin Console (adjust the hostname for your docker host). To use Solr, you need to create a "core", an index for your data. For example: ```console $ docker exec -it --user=solr my_solr bin/solr create_core -c gettingstarted ``` In the web UI if you click on "Core Admin" you should now see the "gettingstarted" core. If you want to load some example data: ```console $ docker exec -it --user=solr my_solr bin/post -c gettingstarted example/exampledocs/manufacturers.xml ``` In the UI, find the "Core selector" popup menu and select the "gettingstarted" core, then select the "Query" menu item. This gives you a default search for "*:*" which returns all docs. Hit the "Execute Query" button, and you should see a few docs with data. Congratulations! To learn more about Solr, see the [Apache Solr Reference Guide](https://cwiki.apache.org/confluence/display/solr/Apache+Solr+Reference+Guide). ## Distributed Solr You can also run a distributed Solr configuration, with Solr nodes in separate containers, sharing a single ZooKeeper server: Run ZooKeeper, and define a name so we can link to it: ```console $ docker run --name zookeeper -d -p 2181:2181 -p 2888:2888 -p 3888:3888 jplock/zookeeper ``` Run two Solr nodes, linked to the zookeeper container: ```console $ docker run --name solr1 --link zookeeper:ZK -d -p 8983:8983 \ solr \ bash -c '/opt/solr/bin/solr start -f -z $ZK_PORT_2181_TCP_ADDR:$ZK_PORT_2181_TCP_PORT' $ docker run --name solr2 --link zookeeper:ZK -d -p 8984:8983 \ solr \ bash -c '/opt/solr/bin/solr start -f -z $ZK_PORT_2181_TCP_ADDR:$ZK_PORT_2181_TCP_PORT' ``` Create a collection: ```console $ docker exec -i -t solr1 /opt/solr/bin/solr create_collection \ -c collection1 -shards 2 -p 8983 ``` Then go to `http://localhost:8983/solr/#/~cloud` (adjust the hostname for your docker host) to see the two shards and Solr nodes. # About this repository This repository is available on [github.com/docker-solr/docker-solr](https://github.com/docker-solr/docker-solr), and the official build is on the [Docker Hub](https://hub.docker.com/_/solr/). This repository is based on (and replaces) `makuk66/docker-solr`, and has been sponsored by [Lucidworks](http://www.lucidworks.com/).