35 lines
1.4 KiB
Plaintext
Executable File
35 lines
1.4 KiB
Plaintext
Executable File
# 1. Java-Stage: Kompilieren
|
|
FROM openjdk:17-jdk-slim AS java-build
|
|
WORKDIR /app
|
|
|
|
# Java-WebSocket und SLF4J-Bibliothek herunterladen
|
|
RUN apt-get update && apt-get install -y wget \
|
|
&& wget https://repo1.maven.org/maven2/org/java-websocket/Java-WebSocket/1.5.3/Java-WebSocket-1.5.3.jar -O /app/Java-WebSocket.jar \
|
|
&& wget https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.32/slf4j-api-1.7.32.jar -O /app/slf4j-api-1.7.32.jar \
|
|
&& wget https://repo1.maven.org/maven2/org/slf4j/slf4j-simple/1.7.32/slf4j-simple-1.7.32.jar -O /app/slf4j-simple-1.7.32.jar
|
|
|
|
# Quellcode kopieren
|
|
COPY src /app/src
|
|
|
|
# Erstelle bin-Ordner für kompilierten Code
|
|
RUN mkdir -p /app/bin
|
|
|
|
# Kompilieren mit der WebSocket-Bibliothek
|
|
RUN javac -cp /app/Java-WebSocket.jar:/app/slf4j-api-1.7.32.jar:/app/slf4j-simple-1.7.32.jar -d /app/bin /app/src/de/szut/zuul/*.java
|
|
|
|
# 2. Finale Java-Stage
|
|
FROM openjdk:17-jdk-slim
|
|
WORKDIR /app
|
|
|
|
# Kopiere das kompilierte Java-Programm
|
|
COPY --from=java-build /app/bin /app
|
|
COPY --from=java-build /app/Java-WebSocket.jar /app/Java-WebSocket.jar
|
|
COPY --from=java-build /app/slf4j-api-1.7.32.jar /app/slf4j-api-1.7.32.jar
|
|
COPY --from=java-build /app/slf4j-simple-1.7.32.jar /app/slf4j-simple-1.7.32.jar
|
|
|
|
# Port für WebSocket öffnen
|
|
EXPOSE 8867
|
|
|
|
# WebSocket-Server starten
|
|
CMD ["java", "-cp", "/app:/app/Java-WebSocket.jar:/app/slf4j-api-1.7.32.jar:/app/slf4j-simple-1.7.32.jar", "de.szut.zuul.ZuulWebsocket"]
|