Hi,

I need to use solr with a custom module and I want running it on docker 
containers (eg image solr:9.8.1).

My idea is extend solr image adding the module and the files (sol.xml, 
schema.xml, solrconfig.xml, stopwords...)

My Dockerfile:

----------------------------------------------------------------
FROM solr:9.8.1

ENV SOLR_HOME_DIR=/opt/solr-9.8.1/server

WORKDIR /opt/solr-9.8.1

COPY ./modules/hybris ./modules
COPY ./server  $SOLR_HOME_DIR

EXPOSE 8983
----------------------------------------------------------------


The build of the image looks fine:
----------------------------------------------------------------
 => [internal] load local bake definitions                                      
                                                                                
                                                                    0.0s
 => => reading from stdin 996B                                                  
                                                                                
                                                                    0.0s
 => [solr internal] load build definition from Dockerfile                       
                                                                                
                                                                    0.0s
 => => transferring dockerfile: 315B                                            
                                                                                
                                                                    0.0s
 => [hybris internal] load build definition from Dockerfile                     
                                                                                
                                                                    0.0s
 => => transferring dockerfile: 1.16kB                                          
                                                                                
                                                                    0.0s
 => [solr internal] load metadata for docker.io/library/solr:9.8.1              
                                                                                
                                                                    0.0s
 => [hybris internal] load metadata for docker.io/library/sapmachine:17         
                                                                                
                                                                    0.6s
 => [solr internal] load .dockerignore                                          
                                                                                
                                                                    0.0s
 => => transferring context: 2B                                                 
                                                                                
                                                                    0.0s
 => [solr 1/5] FROM 
docker.io/library/solr:9.8.1@sha256:86a7f3fbec6596b4ee1122b6a862f41eb4b7f41a164abbc169ba9ee03e41525b
                                                                                
                            0.0s
 => => resolve 
docker.io/library/solr:9.8.1@sha256:86a7f3fbec6596b4ee1122b6a862f41eb4b7f41a164abbc169ba9ee03e41525b
                                                                                
                                 0.0s
 => [solr internal] load build context                                          
                                                                                
                                                                    0.0s
 => => transferring context: 8.50kB                                             
                                                                                
                                                                    0.0s
 => CACHED [solr 2/5] RUN whoami                                                
                                                                                
                                                                    0.0s
 => CACHED [solr 3/5] WORKDIR /opt/solr-9.8.1                                   
                                                                                
                                                                    0.0s
 => CACHED [solr 4/5] COPY ./modules/hybris ./modules                           
                                                                                
                                                                    0.0s
 => CACHED [solr 5/5] COPY ./server  /opt/solr-9.8.1/server                     
                                                                                
                                                                    0.0s
 => [solr] exporting to image                                                   
                                                                                
                                                                    0.1s
 => => exporting layers                                                         
                                                                                
                                                                    0.0s
 => => exporting manifest 
sha256:49eea1efe83b2aae428b736058fbe03b2efc0e5edf98c4c5f7bde7acb16eaec2         
                                                                                
                                          0.0s
 => => exporting config 
sha256:e80d1a44c69cf024391d347c3f543c4578d66603a5295cbee61aa9fba79088dd         
                                                                                
                                            0.0s
 => => exporting attestation manifest 
sha256:71400ef4a2fca497ee6831230d4741877165beb5ee005f9b19f2317111162350         
                                                                                
                              0.0s
 => => exporting manifest list 
sha256:d547a7f8fe5a41733c95c1053a12de3d5cf7954fc7aa546199e801505a989a38         
                                                                                
                                     0.0s
 => => naming to docker.io/library/git-solr:latest                              
                                                                                
                                                                    0.0s
 => => unpacking to docker.io/library/git-solr:latest                           
                                                                                
                                                                    0.0s
 => [solr] resolving provenance for metadata file                               
                                                                                
                                                                    0.0s
----------------------------------------------------------------

The issue is that when I start the container, I have an error, it is missing 
the directory of one of the modules

Below the logs of the container start:
----------------------------------------------------------------
Creating solr   ... done
Attaching to solr, hybris
solr      | Starting Solr
solr      | *** [WARN] *** Your open file limit is currently 1024.
solr      |  It should be set to 65000 to avoid operational disruption.
solr      |  If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS 
to false in your profile or solr.in.sh
solr      | Solr will start in SolrCloud mode by default in version 10, and you 
will have to provide --user-managed if you want to stay on the user-managed 
(aka. standalone) mode.
solr      |
solr      | Java 17 detected. Enabled workaround for SOLR-16463
solr      | [0.001s][warning][pagesize] UseLargePages disabled, no large pages 
configured and available on the system.
solr      | CompileCommand: exclude 
com/github/benmanes/caffeine/cache/BoundedLocalCache.put bool exclude = true
solr      | WARNING: A command line option has enabled the Security Manager
solr      | WARNING: The Security Manager is deprecated and will be removed in 
a future release
solr      | 2026-02-23 15:11:46.056 INFO  (main) [c: s: r: x: t:] 
o.e.j.s.Server jetty-10.0.22; built: 2024-06-27T16:03:51.502Z; git: 
5c8471e852d377fd726ad9b1692c35ffc5febb09; jvm 17.0.16+8
solr      | 2026-02-23 15:11:46.561 WARN  (main) [c: s: r: x: t:] 
o.e.j.u.DeprecationWarning Using @Deprecated Class 
org.eclipse.jetty.servlet.listener.ELContextCleaner
solr      | 2026-02-23 15:11:46.607 INFO  (main) [c: s: r: x: t:] 
o.a.s.s.CoreContainerProvider Using logger factory 
org.apache.logging.slf4j.Log4jLoggerFactory
solr      | 2026-02-23 15:11:46.621 INFO  (main) [c: s: r: x: t:] 
o.a.s.s.CoreContainerProvider  ___      _       Welcome to Apache Solr™ version 
9.8.1
solr      | 2026-02-23 15:11:46.621 INFO  (main) [c: s: r: x: t:] 
o.a.s.s.CoreContainerProvider / __| ___| |_ _   Starting in standalone mode on 
port 8983
solr      | 2026-02-23 15:11:46.621 INFO  (main) [c: s: r: x: t:] 
o.a.s.s.CoreContainerProvider \__ \/ _ \ | '_|  Install dir: /opt/solr-9.8.1
solr      | 2026-02-23 15:11:46.622 INFO  (main) [c: s: r: x: t:] 
o.a.s.s.CoreContainerProvider |___/\___/_|_|    Start time: 
2026-02-23T15:11:46.622705288Z
solr      | 2026-02-23 15:11:46.626 INFO  (main) [c: s: r: x: t:] 
o.a.s.s.CoreContainerProvider Solr started with "-XX:+CrashOnOutOfMemoryError" 
that will crash on any OutOfMemoryError exception. The cause of the OOME will 
be logged in the crash file at the following path: 
/var/solr/logs/jvm_crash_14.log
solr      | 2026-02-23 15:11:46.677 INFO  (main) [c: s: r: x: t:] 
o.a.s.s.CoreContainerProvider Solr Home: /var/solr/data (source: system 
property: solr.solr.home)
solr      | 2026-02-23 15:11:46.740 INFO  (main) [c: s: r: x: t:] 
o.a.s.c.SolrXmlConfig solr.xml not found in SOLR_HOME, using built-in default
solr      | 2026-02-23 15:11:46.740 INFO  (main) [c: s: r: x: t:] 
o.a.s.c.SolrXmlConfig Loading solr.xml from /opt/solr-9.8.1/server/solr/solr.xml
solr      | 2026-02-23 15:11:46.798 INFO  (main) [c: s: r: x: t:] 
o.a.s.c.SolrResourceLoader Added 1 libs to classloader, from paths: 
[/opt/solr-9.8.1/lib]
solr      | 2026-02-23 15:11:47.031 INFO  (main) [c: s: r: x: t:] 
o.a.s.c.SolrResourceLoader Added 1 libs to classloader, from paths: 
[/opt/solr-9.8.1/modules/scripting/lib]
solr      | 2026-02-23 15:11:47.031 INFO  (main) [c: s: r: x: t:] 
o.a.s.c.NodeConfig Added module scripting. 
libPath=/opt/solr-9.8.1/modules/scripting/lib with 1 libs
solr      | 2026-02-23 15:11:47.033 ERROR (main) [c: s: r: x: t:] 
o.a.s.c.NodeConfig No module with name hybris, available modules are [cross-dc, 
hadoop-auth, lib, prometheus-exporter, ltr, llm, extraction, s3-repository, 
analysis-extras, sql, gcs-repository, analytics, scripting, jwt-auth, 
controller-libs, hdfs, jaegertracer-configurator, clustering, opentelemetry, 
langid]
solr      | 2026-02-23 15:11:47.034 ERROR (main) [c: s: r: x: t:] 
o.a.s.s.CoreContainerProvider Could not start Solr. Check solr/home property 
and the logs => org.apache.solr.common.SolrException: No module with name hybris
solr      |     at 
org.apache.solr.core.NodeConfig.initModules(NodeConfig.java:606)
solr      | org.apache.solr.common.SolrException: No module with name hybris
solr      |     at 
org.apache.solr.core.NodeConfig.initModules(NodeConfig.java:606) ~[?:?]
solr      |     at 
org.apache.solr.core.NodeConfig.initModules(NodeConfig.java:578) ~[?:?]
solr      |     at org.apache.solr.core.NodeConfig.<init>(NodeConfig.java:241) 
~[?:?]
solr      |     at 
org.apache.solr.core.NodeConfig$NodeConfigBuilder.build(NodeConfig.java:999) 
~[?:?]
solr      |     at 
org.apache.solr.core.SolrXmlConfig.fillSolrSection(SolrXmlConfig.java:423) 
~[?:?]
solr      |     at 
org.apache.solr.core.SolrXmlConfig.fromConfig(SolrXmlConfig.java:190) ~[?:?]
...
----------------------------------------------------------------

I checked the running containers and it looks that the solr.xml (and the others 
file xml files, stopwords...) are copied but the folder of the modules (hybris 
directory) don't is copied.
What wrong?


Kind regards
Marco
        

Reply via email to