diff --git a/roles/docker/templates/docker.service.j2 b/roles/docker/templates/docker.service.j2
index 29abb6d53bb53650f90acbbccd7c005c0f6ee3fb..d8efe202546dac187a44d4d7ba575fef27d66a98 100644
--- a/roles/docker/templates/docker.service.j2
+++ b/roles/docker/templates/docker.service.j2
@@ -31,7 +31,10 @@ LimitNOFILE=1048576
 LimitNPROC=1048576
 LimitCORE=infinity
 TimeoutStartSec=1min
-Restart=on-abnormal
+# restart the docker process if it exits prematurely
+Restart=on-failure
+StartLimitBurst=3
+StartLimitInterval=60s
 
 [Install]
 WantedBy=multi-user.target