diff --git a/README.md b/README.md
index 8481ab875b226871881f03f42f4024b6e7d54b7a..00293cc95f01651ba3e10f952b475d975f50860a 100644
--- a/README.md
+++ b/README.md
@@ -5,10 +5,33 @@ for testing SAML service providers.
 
 ## Requirements
 
-1. install newest version of [Go](https://go.dev/doc/install)
-2. install [nuclei](https://docs.projectdiscovery.io/tools/nuclei/install)
-3. set up the conformance IdP
-4. connect SPs to the conformance IdP (exchange metadata)
+### nuclei
+
+You can run nuclei in multiple ways. The most common ones are directly on your machine (using go) or inside a docker container.
+
+#### go
+
+Install newest version of [Go](https://go.dev/doc/install). The version included in your Linux distribution might not be current enough.
+
+Then install [nuclei](https://docs.projectdiscovery.io/tools/nuclei/install).
+
+You will run nuclei simply by calling `nuclei` (see below).
+
+#### docker
+
+Install [docker](https://docs.docker.com/engine/install/) and make sure that you can call `docker` in your terminal.
+
+You will run nuclei by executing:
+
+```sh
+docker run --rm -v ./:/app/ projectdiscovery/nuclei # ...
+```
+
+### conformance IdP
+
+You need to setup a conformance IdP, with a module developed for SAML signature validation testing.
+
+Then you need to connect SPs to the conformance IdP (exchange metadata), so that regular SAML authentication works.
 
 ## Usage
 
@@ -19,6 +42,13 @@ nuclei -u ACS_URL_HERE -V "ENTITY_ID=ENTITY_ID_HERE" \
     -duc -ms -t nuclei-templates/ -nmhe -lna -dka 30 -dt 30
 ```
 
+or using docker:
+
+```sh
+docker run --rm -v ./:/app/ projectdiscovery/nuclei -u ACS_URL_HERE -V "ENTITY_ID=ENTITY_ID_HERE" \
+    -duc -ms -t /app/nuclei-templates/ -nmhe -lna -dka 30 -dt 30
+```
+
 where
 
 * `ACS_URL_HERE` is the assertion consumer service endpoint URL