Nur neu bei Docker, also bitte bitte mit mir. Ich versuche Docker-Compose mit einer Alpine Dockerfile zu verwenden. Im Idealfall würde ich das alpine Bild spin up und haben weiterhinAusführen eines Skripts in einem Andock-Container
FROM alpine:edge
Ich habe ein Shell-Skript in meinem hängten Datenträger in meinem Docker-compose.yml
version: '3'
services:
solr-service:
build: ./solr-service
volumes:
- /Users/asdf/customsolr/trunk:/asdf/customsolr/trunk
ports:
- 8801:8801
referenzierte innerhalb des bereitgestellten Volumes laufen at /Users/asdf/customsolr/trunk/startsolr.sh Ich habe ein Skript, das ich alle möglichen Ansätze versucht habe zu laufen und zu laufen. Grundsätzlich, wenn ich dies lokal auf meinem eigenen Rechner außerhalb von Docker ausführe, spinnt es die Dateien in seinem Verzeichnis in einer Mini-Custom-Jetty-Instanz. Wenn ich versuche, das Skript durch RUN oder CMD aufzurufen, ist der Docker-Container bereits fertig oder es kann die benötigte startup.jar nicht finden.
#!/bin/sh
export DEBUG_ARGS=''
export DEBUG_ARGS='-Xdebug -
Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8909'
java -Xms512M -Xmx1024M $DEBUG_ARGS -Dfile.encoding=UTF8 -server -Dsolr.solr.home=cores -Dsolr.useFilterForSort=false -Djetty.home=_container -Djetty.logs=_container/logs -jar _container/start.jar
Irgendwelche Ideen, was ich falsch mache?
Was ist der 'entrepoint' oder' cmd' für das Bild, das Sie erstellen? – mkobit
Veröffentlichen Sie Ihre Dockerdatei und die Protokolle auch beim Ausführen des Containers –