Docker Engine has gone through a lot of changes over the last few years. There is enterprise edition, community edition, Docker Desktop has been re-licensed... lots of changes. There were several times where I needed to fully remove all possible Docker engine installs and start over with a fresh install of the latest Docker-CE. To help, and make the job easy, I ended up using an extremely simply playbook to get the job done.

Here is an example of how to use Ansible to remove Docker Engine from a CentOS/RHEL-based host.

Playbook is below!

---
- name: Playbook to stop and remove all Docker related packages and file from hosts
  hosts: all
  gather_facts: false
  become: yes
  tasks:
    - name: Stop the Docker service
      ignore_errors: yes
      service:
        name: docker
        state: stopped
    
    - name: Remove the docker-ee package (enterprise)
      ignore_errors: yes
      yum:
        name: docker-ee
        state: removed

    - name: Remove the docker-ce package (community edition)
      ignore_errors: yes
      yum:
        name: docker-ce
        state: removed

    - name: Remove the base docker package
      ignore_errors: yes
      yum:
        name: docker
        state: removed

    - name: Delete the /var/lib/docker directory
      ignore_errors: yes
      file: 
        path: /var/lib/docker
        state: absent

-Joey D