Base Image for CoreMedia Solr Search Engine
100K+
This image is based on the official Solr image from DockerHub and adds the following features:
Release Notes can be found at GitHub.
As with all Docker images, this image also contain other software which may be under other licenses (such as Bash, coreutils, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
⚠️ 2022-09-30 - The current specification can be found at GitHub
In contrast to the default Solr image, this image puts only the index into /var/solr, but keeps the configuration and
additional classpath files separately. This allow an upgrade process, where configuration and custom code can be replaced by
rolling out a new image version.
/opt/solr/server/solr - Solr home directory set by environment variableSOLR_HOME./var/solr/data - Solr core directory set by Java Systemproperty -DcoreRootDirectory./opt/solr/prometheus - Configuration dir for the Prometheus JMX agent.SOLR_HEAP - defaults to 512m.SOLR_OPTS - defaults to -XX:-UseLargePages.EXIT_ON_OOM - defaults to true.PROMETHEUS - defaults to false.8983 - standard solr port.8199 - Prometheys agent port if activated./var/solr should be a mounted volume to persist the search index.
To enable leader / follower index replication, you need to add another solr container instance with the following environment variables configured:
SOLR_LEADER - set this to false on the follower.SOLR_FOLLOWER - set this to true on the follower.SOLR_LEADER_URL - set this to the solr leader url.SOLR_FOLLOWER_AUTOCREATE_CORES - set this to true to automatically
create the cores for the follower.SOLR_FOLLOWER_AUTOCREATE_CORES_LIST - set this to a space separated list of core names to control,
which cores should be replicated by this followerSOLR_FOLLOWER_AUTOCREATE_THRESHOLD - set this to a numerical value, to wait for at least that number of cores
to be available, before creating all found cores and start solr. This is only effective, if
SOLR_FOLLOWER_AUTOCREATE_CORES_LIST is empty.docker build -t coremedia/solr-base .
docker-compose --profiles with-replication up
The docker-compose.yml should look like:
version: "3.8"
services:
solr-leader:
image: coremedia/solr-base
container_name: solr-leader
ports:
- 8983:8983
volumes:
- solr-leader_data:/var/solr
# you cannot set container_name when using replicas
solr-follower:
image: coremedia/solr-base
profiles:
- with-replication
depends_on:
- solr-leader
environment:
SOLR_LEADER: "false"
SOLR_FOLLOWER: "true"
SOLR_LEADER_URL: http://solr-leader:8983/solr
deploy:
mode: replicated
replicas: 3
ports:
# defining only the container port will prevent port collisions on host.
# Docker will chose a random port.
- "8983"
volumes:
# anonymous volume mount for each replica
- /var/solr
volumes:
solr-leader_data: {}
As with all Docker images, this image also contain other software which may be under other licenses (such as Bash, coreutils, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
Content type
Image
Digest
Size
331.3 MB
Last updated
over 4 years ago
docker pull coremedia/solr-base