Full implementation of "Update Webgoat Dockerfile to use entrypoints and commands #523" based on the pull request of Nicklaus McClendon

This commit is contained in:
Nanne Baars 2019-01-17 14:49:42 +01:00
parent ed490a5ecf
commit dc5f9880af
5 changed files with 19 additions and 5 deletions

View File

@ -8,11 +8,11 @@ services:
- WEBWOLF_PORT=9090 - WEBWOLF_PORT=9090
ports: ports:
- "8080:8080" - "8080:8080"
- "9001:9001"
volumes: volumes:
- .:/home/webgoat/.webgoat - .:/home/webgoat/.webgoat
command: "java -Djava.security.egd=file:/dev/./urandom -jar /home/webgoat/webgoat.jar --server.port=8080 --server.address=0.0.0.0"
webwolf: webwolf:
image: webgoat/webwolf image: webgoat/webwolf
ports: ports:
- "9090:9090" - "9090:9090"
command: bash -c "sleep 8 && java -Djava.security.egd=file:/dev/./urandom -jar /home/webwolf/webwolf.jar --server.port=9090 --server.address=0.0.0.0 --spring.datasource.url=jdbc:hsqldb:hsql://webgoat:9001/webgoat" command: --spring.datasource.url=jdbc:hsqldb:hsql://webgoat:9001/webgoat --server.address=0.0.0.0

4
scripts/build-all.sh Normal file → Executable file
View File

@ -7,13 +7,13 @@ SUCCESS=$?
nc -zv 127.0.0.1 9090 2>/dev/null nc -zv 127.0.0.1 9090 2>/dev/null
SUCCESS=${SUCCESS}$? SUCCESS=${SUCCESS}$?
if [[ "${SUCCESS}" -eq 00 ]] ; then if [[ "${SUCCESS}" -eq 0 ]] ; then
echo "WebGoat and or WebWolf are still running, please stop them first otherwise unit tests might fail!" echo "WebGoat and or WebWolf are still running, please stop them first otherwise unit tests might fail!"
exit 127 exit 127
fi fi
mvn clean install sh mvnw clean install
if [[ "$?" -ne 0 ]] ; then if [[ "$?" -ne 0 ]] ; then
exit y$? exit y$?
fi fi

View File

@ -10,4 +10,7 @@ USER webgoat
RUN cd /home/webgoat/; mkdir -p .webgoat-${webgoat_version} RUN cd /home/webgoat/; mkdir -p .webgoat-${webgoat_version}
COPY target/webgoat-server-${webgoat_version}.jar /home/webgoat/webgoat.jar COPY target/webgoat-server-${webgoat_version}.jar /home/webgoat/webgoat.jar
EXPOSE 8080 EXPOSE 8080
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/home/webgoat/webgoat.jar"]
CMD ["--server.port=8080", "--server.address=0.0.0.0"]

View File

@ -8,5 +8,9 @@ RUN \
USER webwolf USER webwolf
COPY target/webwolf-${webwolf_version}.jar /home/webwolf/webwolf.jar COPY target/webwolf-${webwolf_version}.jar /home/webwolf/webwolf.jar
COPY start-webwolf.sh /home/webwolf
EXPOSE 9090 EXPOSE 9090
ENTRYPOINT ["/home/webwolf/start-webwolf.sh"]
CMD ["--server.port=9090", "--server.address=0.0.0.0"]

7
webwolf/start-webwolf.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/bash
# Script to start WebWolf, it needs a valid database connection from WebGoat so we wait 8 seconds before starting
# WebWolf application
echo " Waiting for database to be available..."
sleep 8 && java -Djava.security.egd=file:/dev/./urandom -jar /home/webwolf/webwolf.jar $@