2017-09-09 4 views
1

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?

+0

Was ist der 'entrepoint' oder' cmd' für das Bild, das Sie erstellen? – mkobit

+3

Veröffentlichen Sie Ihre Dockerdatei und die Protokolle auch beim Ausführen des Containers –

Antwort

0

Alpine Bild nicht mit Java installiert, so dass, wenn Sie es zu Ihrem Bild in Dockerfile hinzufügen, würde ich sagen, dass das Skript beendet und Ihr Container sofort existiert.

Es wäre hilfreich, wenn Sie Ihre Dockerfile, vollständige docker-compose.yml und log aus Container bereitstellen.

Verwandte Themen