Guten Tag,
hat jemand Rezeptsuite schon auf docker zum Laufen gebracht? Optimalerweise sogar auf einem Raspi?
Grüße, Tobelix
Benötigt wird die Datei “rezeptsuite.client.fx.jar” aus der Installation der Linux-Version.
[code]FROM openjdk:8-jdk
RUN apt-get update && apt-get install -y --no-install-recommends xvfb openjfx && rm -rf /var/lib/apt/lists/*
ADD ./rezeptsuite.client.fx.jar /opt/rezeptsuite.client.fx.jar
EXPOSE 8000
CMD exec $JAVA_HOME/bin/java -cp /opt/rezeptsuite.client.fx.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/* rezeptSuite.fx.RezeptSuite server[/code]
Als “Dockerfile” speichern und in der Shell ausführen
Ich habe zwar diverse Docker Container am Laufen, aber mit der Anleitung komme ich leider nicht weiter
Welchen Docker Container verwende ich für die Installation ?
Kann mir dazu jemand mehr Infos oder eine genauere Anleitung geben ?
Hi Blackmyth,
falls du auch einen Raspi am laufen hast, dann kann ich dir sagen, dass oben das dockerfile nicht funktioniert.
Es gibt das Image von openjdk nicht für die ARM Architektur. Ich bin aber bisher noch nicht dazu gekommen ein passendes Image zu suchen.
Falls hier jemand schon weiter ist, dann gerne posten.
Grüße, Tobelix
Danke für die Info
Ja, soll auf einem Raps laufen, hoffe es findet bald jemand eine Lösung.
Am besten mit einer kompletten Anleitung
Das oben gepostete Dockerfile funktioniert nicht auf einem arm/v7 System.
Damit sollte es funktionieren:
[code]FROM bellsoft/liberica-openjdk-debian
RUN apt-get update && apt-get install -y --no-install-recommends xvfb openjfx && rm -rf /var/lib/apt/lists/*
ADD ./rezeptsuite.client.fx.jar /opt/rezeptsuite.client.fx.jar
EXPOSE 8000
CMD exec $JAVA_HOME/bin/java -cp /opt/rezeptsuite.client.fx.jar:/usr/lib/jvm/java-8-openjdk-armhf/jre/lib/ext/* rezeptSuite.fx.RezeptSuite server[/code]
[quote=“alexg” post=2405]Das oben gepostete Dockerfile funktioniert nicht auf einem arm/v7 System.
Damit sollte es funktionieren:
[code]FROM bellsoft/liberica-openjdk-debian
RUN apt-get update && apt-get install -y --no-install-recommends xvfb openjfx && rm -rf /var/lib/apt/lists/*
ADD ./rezeptsuite.client.fx.jar /opt/rezeptsuite.client.fx.jar
EXPOSE 8000
CMD exec $JAVA_HOME/bin/java -cp /opt/rezeptsuite.client.fx.jar:/usr/lib/jvm/java-8-openjdk-armhf/jre/lib/ext/* rezeptSuite.fx.RezeptSuite server[/code][/quote]
Super danke das du dich dazu zurück meldest.
Komme damit aber leider nicht weiter. Wie erstelle ich so den Docker ?
Kennst du dich damit aus?
Bei fertigen Dockern kann ich zum Beispiel auch immer einen Pfad mit -v angeben wohin die Daten gespeichert werden. Möchte alle individuellen Daten nicht auf der SD Karte haben sondern ausgelagert auf einer SSD.
Weist du was ich meine ?
Einen Schritt bin ich weiter.
Konnte das Dockerfiles erstellen. Jedoch bekomme ich beim Ausführen des Dockers folgende Fehlermeldung:
Error: Unable to initialize main class rezeptSuite.fx.RezeptSuite,
Caused by: java.lang.NoClassDefFoundError: javafx/scene/Node,
Jemand eine Idee ?
Wie sieht die Datei aus? Wie oben gepostet?
Ja genau wie oben
Die rezeptsuite.client.fx liegt im selben Verzeichnis. Ist das korrekt ?
Ja, das passt. Wichtig ist dass im Container dieser Pfad existiert “/usr/lib/jvm/java-8-openjdk-armhf/jre/lib/ext/*”.
Bitte auf die letzte Zeile im Dockerfile achten.
[quote=“alexg” post=2413]Ja, das passt. Wichtig ist dass im Container dieser Pfad existiert “/usr/lib/jvm/java-8-openjdk-armhf/jre/lib/ext/*”.
Bitte auf die letzte Zeile im Dockerfile achten.[/quote]
Problem ist, dass der Container mit der Fehlermeldung nicht startet, wie soll ich den Pfad dann prüfen ?
Oder muss Java auf Ubuntu installiert sein ?
OK, habe es rausgefunden.
FROM bellsoft/liberica-openjdk-debian
RUN apt-get update && apt-get install -y --no-install-recommends xvfb openjfx && rm -rf /var/lib/apt/lists/*
ADD ./rezeptsuite.client.fx.jar /opt/rezeptsuite.client.fx.jar
EXPOSE 8000
CMD exec $JAVA_HOME/bin/java -cp /opt/rezeptsuite.client.fx.jar:/usr/lib/jvm/java-8-openjdk-armhf/jre/lib/ext/* rezeptSuite.fx.RezeptSuite server
Das Paket bellsoft/liberica-openjdk-debian scheint Java unter einem anderen Pfad im Docker zu installieren.
CMD exec $JAVA_HOME/bin/java -cp /opt/rezeptsuite.client.fx.jar:/usr/lib/jvm/java-8-openjdk-arm64/jre/lib/ext/* rezeptSuite.fx.RezeptSuite server
Noch 2 Fragen:
- Woher bekomme ich die Updates der rezeptsuite.client.fx.jar, meine ist sehr alt
- Ich würde den Inhalt des Docker Containers gerne auslagern und nicht auf der SD Karte haben. In anderen Dockern kann mit -v ein Volumen ausgewählt werden. Kann das noch realisiert werden ?