diff --git a/drivers/docker/driver.go b/drivers/docker/driver.go
index b83f38678fb53fec7b2efb1a9fabefb7f61b77d2..2a536258b770a24ca08c19978ebcc1616afa53f6 100644
--- a/drivers/docker/driver.go
+++ b/drivers/docker/driver.go
@@ -1022,6 +1022,14 @@ func (d *Driver) StopTask(taskID string, timeout time.Duration, signal string) e
 		signal = "SIGINT"
 	}
 
+	// Windows Docker daemon does not support SIGINT, SIGTERM is the semantic equivalent that
+	// allows for graceful shutdown before being followed up by a SIGKILL.
+	// Supported signals:
+	//   https://github.com/moby/moby/blob/0111ee70874a4947d93f64b672f66a2a35071ee2/pkg/signal/signal_windows.go#L17-L26
+	if runtime.GOOS == "windows" && signal == "SIGINT" {
+		signal = "SIGTERM"
+	}
+
 	sig, err := signals.Parse(signal)
 	if err != nil {
 		return fmt.Errorf("failed to parse signal: %v", err)