diff --git a/roles/container-engine/cri-dockerd/handlers/main.yml b/roles/container-engine/cri-dockerd/handlers/main.yml
index e5527d0f667b9e49f8adc2b4f8feedb9498c7e88..9d9d8c64361e8cd8ea216ede7f27651a4e5aafbb 100644
--- a/roles/container-engine/cri-dockerd/handlers/main.yml
+++ b/roles/container-engine/cri-dockerd/handlers/main.yml
@@ -3,6 +3,7 @@
   command: /bin/true
   notify:
     - cri-dockerd | reload systemd
+    - cri-dockerd | restart docker.service
     - cri-dockerd | reload cri-dockerd.socket
     - cri-dockerd | reload cri-dockerd.service
     - cri-dockerd | enable cri-dockerd service
@@ -13,6 +14,11 @@
     daemon_reload: true
     masked: no
 
+- name: cri-dockerd | restart docker.service
+  service:
+    name: docker.service
+    state: restarted
+
 - name: cri-dockerd | reload cri-dockerd.socket
   service:
     name: cri-dockerd.socket
diff --git a/roles/container-engine/cri-dockerd/tasks/main.yml b/roles/container-engine/cri-dockerd/tasks/main.yml
index 7ee4617def9e52e0aca3ba93ad6d20dbbc754112..9ce3ec6efef8974609f3f16d5e3a70ea0448211f 100644
--- a/roles/container-engine/cri-dockerd/tasks/main.yml
+++ b/roles/container-engine/cri-dockerd/tasks/main.yml
@@ -23,3 +23,6 @@
     - cri-dockerd.socket
   notify:
     - restart and enable cri-dockerd
+
+- name: Flush handlers
+  meta: flush_handlers