J'ai modifié le docker-compose.yml
comme indiqué sur https://hub.docker.com/_/solr/ en ajoutant un volumes
et un changement dans entrypoint
. Le fichier modifié est le suivant :
version: '3'
services:
solr:
image: solr
ports:
- "8983:8983"
volumes:
- ./solr/init.sh:/init.sh
- ./solr/data:/opt/solr/server/solr/mycores
entrypoint:
- init.sh
- docker-entrypoint.sh
- solr-precreate
- mycore
J'ai besoin d'exécuter ce 'init.sh' avant le démarrage du point d'entrée, pour préparer mes fichiers dans le conteneur.
Mais je reçois les erreurs suivantes :
ERROR : pour solr_solr_1 Cannot start service solr : oci runtime error : container_linux.go:247 : démarrage du processus de conteneur causé par "exec : \"init.sh\" : fichier exécutable non trouvé dans $PATH"
Plus tôt, j'ai découvert les crochets d'image officiels dans neo4j à partir de aquí . Y a-t-il une chose similaire que je puisse utiliser ici aussi ?
Mise à jour 1 : D'après les commentaires ci-dessous, je me suis rendu compte que le dockerfile définit WORKDIR /opt/solr
en raison de quoi executable file not found in $PATH
. J'ai donc testé en fournissant le chemin absolu vers le point d'entrée en utilisant /init.sh
. Mais cela donne aussi une erreur, mais une erreur différente :
standard_init_linux.go:178 : exec user process caused "exec format error"