diff --git a/roles/docker-install/tasks/main.yaml b/roles/docker-install/tasks/main.yaml
index 0090e1dc7..0061449df 100644
--- a/roles/docker-install/tasks/main.yaml
+++ b/roles/docker-install/tasks/main.yaml
@@ -11,15 +11,57 @@
 # limitations under the License.
 
 ---
-- name: Ensuring docker and support packages are present
+- name: Ensure older docker versions are removed
   become: yes
   package:
     name:
+      - docker
+      - docker-engine
       - docker.io
+      - containerd
       - runc
+    state: absent
+
+- name: Ensure docker support packages are present
+  become: yes
+  package:
+    name:
+      - apt-transport-https
+      - ca-certificates
+      - curl
+      - gnupg
+      - lsb-release
     update_cache: yes
+    state: latest
+
+- name: Add Docker GPG apt key
+  become: yes
+  apt_key:
+    url: https://download.docker.com/linux/ubuntu/gpg
+    keyring: /usr/share/keyrings/docker-archive-keyring.gpg
     state: present
 
+- name: Get DEB architecture
+  shell: dpkg --print-architecture
+  register: deb_architecture
+
+- name: Add Docker Repository
+  become: yes
+  apt_repository:
+    repo: deb [arch={{ deb_architecture.stdout }} signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
+    filename: docker
+    state: present
+
+- name: Ensure docker packages are present
+  become: yes
+  package:
+    name:
+      - docker-ce
+      - docker-ce-cli
+      - containerd.io
+    update_cache: yes
+    state: latest
+
 - name: Ensure docker group exists
   group:
     name: docker
diff --git a/tools/gate/00_setup.sh b/tools/gate/00_setup.sh
index fcfabf4f0..0b3963337 100755
--- a/tools/gate/00_setup.sh
+++ b/tools/gate/00_setup.sh
@@ -35,7 +35,7 @@ envsubst <"${AIRSHIPCTL_WS}/tools/gate/config_template.yaml" > "$PLAYBOOK_CONFIG
 # use new version of ansible, Ubuntu has old one
 sudo apt update
 sudo DEBIAN_FRONTEND=noninteractive apt -y install software-properties-common python3-pip curl wget ca-certificates
-sudo DEBIAN_FRONTEND=noninteractive apt -y --no-install-recommends install docker.io make
+sudo DEBIAN_FRONTEND=noninteractive apt -y --no-install-recommends install make
 
 PACKAGES="ansible netaddr yq"
 if [[ -z "${http_proxy}" ]]; then