--- - name: Uninstall old versions ansible.builtin.apt: name: "{{ item }}" state: absent purge: true loop: - docker - docker-engine - docker.io - containerd - runc become: true - name: Update cache ansible.builtin.apt: update_cache: true become: true - name: Install dependencies for apt to use repositories over HTTPS ansible.builtin.apt: name: "{{ item }}" state: present loop: - ca-certificates - curl - gnupg - lsb-release become: true - name: Add Docker apt key. ansible.builtin.get_url: url: "{{ docker.url }}/{{ ansible_distribution | lower }}/gpg" dest: /etc/apt/trusted.gpg.d/docker.asc mode: "0664" force: true become: true - name: Add Docker repository. ansible.builtin.apt_repository: repo: "deb [arch={{ arch }}] {{ docker.url }}/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} {{ docker.apt_release_channel }}" state: present become: true - name: Update cache ansible.builtin.apt: update_cache: true become: true - name: Install Docker Engine, containerd, and Docker Compose. ansible.builtin.apt: name: "{{ item }}" state: present loop: - docker-ce - docker-ce-cli - docker-compose-plugin - containerd.io become: true