diff --git a/README.md b/README.md
index 2460145..d041506 100644
--- a/README.md
+++ b/README.md
@@ -30,17 +30,37 @@ Debian/Ubuntu: `docker-{{ docker_edition }}=<VERSION>` (Note: you have to add th
 You can control whether the package is installed, uninstalled, or at the latest version by setting `docker_packages_state` to `present`, `absent`, or `latest`, respectively. Note that the Docker daemon will be automatically restarted if the Docker package is updated. This is a side effect of flushing all handlers (running any of the handlers that have been notified by this and any other role up to this point in the play).
 
 ```yaml
-docker_obsolete_packages:
+# Used only for Debian/Ubuntu
+docker_obsolete_packages_debian:
   - docker
   - docker.io
   - docker-engine
   - docker-doc
+  - docker-compose
+  - docker-compose-v2
   - podman-docker
   - containerd
   - runc
+
+# Used only for Fedora/CentOS/Rocky
+docker_obsolete_packages_redhat:
+  - docker
+  - docker-client
+  - docker-client-latest
+  - docker-common
+  - docker-latest
+  - docker-latest-logrotate
+  - docker-logrotate
+  - docker-selinux
+  - docker-engine-selinux
+  - docker-engine
 ```
 
-A list of packages to be uninstalled prior to running this role. See [Docker's installation instructions](https://docs.docker.com/engine/install/debian/#uninstall-old-versions) for an up-to-date list of old packages that should be removed.
+A list of packages to be uninstalled prior to running this role. See Docker's installation instructions for an up-to-date list of old packages that should be removed:
+
+- [Docker's installation instructions - Debian](https://docs.docker.com/engine/install/debian/#uninstall-old-versions)
+- [Docker's installation instructions - Fedora](https://docs.docker.com/engine/install/fedora/#uninstall-old-versions)
+
 
 ```yaml
 docker_service_manage: true
diff --git a/defaults/main.yml b/defaults/main.yml
index fa13b89..5a5934d 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -8,15 +8,30 @@ docker_packages:
   - "containerd.io"
   - docker-buildx-plugin
 docker_packages_state: present
-docker_obsolete_packages:
+
+# Used only for Debian/Ubuntu
+docker_obsolete_packages_debian:
   - docker
   - docker.io
   - docker-engine
   - docker-doc
+  - docker-compose
+  - docker-compose-v2
   - podman-docker
   - containerd
   - runc
 
+# Used only for Fedora/CentOS/Rocky
+docker_obsolete_packages_redhat:
+  - docker
+  - docker-client
+  - docker-client-latest
+  - docker-common
+  - docker-latest
+  - docker-latest-logrotate
+  - docker-logrotate
+  - docker-engine
+
 # Service options.
 docker_service_manage: true
 docker_service_state: started
@@ -57,7 +72,7 @@ docker_apt_filename: "docker"
 docker_yum_repo_url: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora','centos') }}/docker-{{ docker_edition }}.repo"
 docker_yum_repo_enable_nightly: '0'
 docker_yum_repo_enable_test: '0'
-docker_yum_gpg_key: "{{ docker_repo_url }}/centos/gpg"
+docker_yum_gpg_key: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora', 'centos') }}/gpg"
 
 # A list of users who will be added to the docker group.
 docker_users: []
diff --git a/tasks/setup-Debian.yml b/tasks/setup-Debian.yml
index a1c7d3e..d671fbd 100644
--- a/tasks/setup-Debian.yml
+++ b/tasks/setup-Debian.yml
@@ -19,8 +19,8 @@
 
 - # See https://docs.docker.com/engine/install/debian/#uninstall-old-versions
   name: Ensure old versions of Docker are not installed.
-  package:
-    name: "{{ docker_obsolete_packages }}"
+  ansible.builtin.package:
+    name: "{{ docker_obsolete_packages_debian }}"
     state: absent
 
 - name: Ensure dependencies are installed.
diff --git a/tasks/setup-RedHat.yml b/tasks/setup-RedHat.yml
index d49316e..ce94a66 100644
--- a/tasks/setup-RedHat.yml
+++ b/tasks/setup-RedHat.yml
@@ -1,10 +1,9 @@
 ---
+# See https://docs.docker.com/engine/install/fedora/#uninstall-old-versions
+# or  https://docs.docker.com/engine/install/centos/#uninstall-old-versions
 - name: Ensure old versions of Docker are not installed.
-  package:
-    name:
-      - docker
-      - docker-common
-      - docker-engine
+  ansible.builtin.package:
+    name: "{{ docker_obsolete_packages_redhat }}"
     state: absent
 
 - name: Add Docker GPG key.