version: '3' services: jenkins: build: dockerfile: jenkins-dockerfile context: . ports: - 8080:8080 - 50000:50000 volumes: - jenkins_home:/var/jenkins_home sonarqube: image: sonarqube:7.7-community ports: - 9000:9000 zap: image: owasp/zap2docker-weekly ports: - 8000:8000 # We start a ZAP daemon that can be connected to from other hosts. We will connect to this from Jenkins to run our scans entrypoint: zap-x.sh -daemon -host 0.0.0.0 -port 8000 -config api.addrs.addr.name=.* -config api.addrs.addr.regex=true -config api.key=5364864132243598723485 volumes: - zap:/zap/data # docker-compose information taken from the project at https://github.com/WebGoat/WebGoat webgoat: image: webgoat/webgoat-8.0 environment: - WEBWOLF_HOST=webwolf - WEBWOLF_PORT=9090 ports: - "8081:8080" # Port changed from 8080 on localhost so as not to conflict with Jenkins - "9001:9001" volumes: - webgoat:/home/webgoat/.webgoat webwolf: image: webgoat/webwolf ports: - "9090:9090" command: --spring.datasource.url=jdbc:hsqldb:hsql://webgoat:9001/webgoat --server.address=0.0.0.0 volumes: jenkins_home: webgoat: zap: