41 lines
1.4 KiB
Docker
41 lines
1.4 KiB
Docker
# We need JDK as some of the lessons needs to be able to compile Java code
|
|
FROM docker.io/eclipse-temurin:23-jdk-noble
|
|
|
|
LABEL name="WebGoat: A deliberately insecure Web Application"
|
|
LABEL maintainer="WebGoat team"
|
|
|
|
RUN \
|
|
useradd -ms /bin/bash webgoat && \
|
|
chgrp -R 0 /home/webgoat && \
|
|
chmod -R g=u /home/webgoat
|
|
|
|
USER webgoat
|
|
|
|
COPY --chown=webgoat target/webgoat-*.jar /home/webgoat/webgoat.jar
|
|
|
|
EXPOSE 8080
|
|
EXPOSE 9090
|
|
|
|
ENV TZ=Europe/Amsterdam
|
|
|
|
WORKDIR /home/webgoat
|
|
ENTRYPOINT [ "java", \
|
|
"-Duser.home=/home/webgoat", \
|
|
"-Dfile.encoding=UTF-8", \
|
|
"--add-opens", "java.base/java.lang=ALL-UNNAMED", \
|
|
"--add-opens", "java.base/java.util=ALL-UNNAMED", \
|
|
"--add-opens", "java.base/java.lang.reflect=ALL-UNNAMED", \
|
|
"--add-opens", "java.base/java.text=ALL-UNNAMED", \
|
|
"--add-opens", "java.desktop/java.beans=ALL-UNNAMED", \
|
|
"--add-opens", "java.desktop/java.awt.font=ALL-UNNAMED", \
|
|
"--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", \
|
|
"--add-opens", "java.base/java.io=ALL-UNNAMED", \
|
|
"--add-opens", "java.base/java.util=ALL-UNNAMED", \
|
|
"--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", \
|
|
"--add-opens", "java.base/java.io=ALL-UNNAMED", \
|
|
"-Drunning.in.docker=true", \
|
|
"-jar", "webgoat.jar", "--server.address", "0.0.0.0" ]
|
|
|
|
HEALTHCHECK --interval=5s --timeout=3s \
|
|
CMD curl --fail http://localhost:8080/WebGoat/actuator/health || exit 1
|