Files
worldofzuul/Dockerfile-game
2025-03-04 14:14:09 +01:00

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"]