From dc5f9880af3e51b3bdd3196000bc4c95e517d2dc Mon Sep 17 00:00:00 2001 From: Nanne Baars Date: Thu, 17 Jan 2019 14:49:42 +0100 Subject: [PATCH] Full implementation of "Update Webgoat Dockerfile to use entrypoints and commands #523" based on the pull request of Nicklaus McClendon --- docker-compose.yml | 4 ++-- scripts/build-all.sh | 4 ++-- webgoat-server/Dockerfile | 5 ++++- webwolf/Dockerfile | 4 ++++ webwolf/start-webwolf.sh | 7 +++++++ 5 files changed, 19 insertions(+), 5 deletions(-) mode change 100644 => 100755 scripts/build-all.sh create mode 100755 webwolf/start-webwolf.sh diff --git a/docker-compose.yml b/docker-compose.yml index 27262211d..5712b6c43 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,11 +8,11 @@ services: - WEBWOLF_PORT=9090 ports: - "8080:8080" + - "9001:9001" volumes: - .:/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: image: webgoat/webwolf ports: - "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 \ No newline at end of file diff --git a/scripts/build-all.sh b/scripts/build-all.sh old mode 100644 new mode 100755 index 7835dff20..319854ac2 --- a/scripts/build-all.sh +++ b/scripts/build-all.sh @@ -7,13 +7,13 @@ SUCCESS=$? nc -zv 127.0.0.1 9090 2>/dev/null 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!" exit 127 fi -mvn clean install +sh mvnw clean install if [[ "$?" -ne 0 ]] ; then exit y$? fi diff --git a/webgoat-server/Dockerfile b/webgoat-server/Dockerfile index 74d0cd4ae..f1b910e52 100644 --- a/webgoat-server/Dockerfile +++ b/webgoat-server/Dockerfile @@ -10,4 +10,7 @@ USER webgoat RUN cd /home/webgoat/; mkdir -p .webgoat-${webgoat_version} COPY target/webgoat-server-${webgoat_version}.jar /home/webgoat/webgoat.jar -EXPOSE 8080 \ No newline at end of file +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"] \ No newline at end of file diff --git a/webwolf/Dockerfile b/webwolf/Dockerfile index a91bcbbce..46598e803 100644 --- a/webwolf/Dockerfile +++ b/webwolf/Dockerfile @@ -8,5 +8,9 @@ RUN \ USER webwolf COPY target/webwolf-${webwolf_version}.jar /home/webwolf/webwolf.jar +COPY start-webwolf.sh /home/webwolf EXPOSE 9090 + +ENTRYPOINT ["/home/webwolf/start-webwolf.sh"] +CMD ["--server.port=9090", "--server.address=0.0.0.0"] \ No newline at end of file diff --git a/webwolf/start-webwolf.sh b/webwolf/start-webwolf.sh new file mode 100755 index 000000000..31f0235e4 --- /dev/null +++ b/webwolf/start-webwolf.sh @@ -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 $@ \ No newline at end of file