--- - name: Remove old Docker packages if they exist apt: name: "{{ item }}" state: absent purge: yes loop: - docker.io - docker-doc - docker-compose - podman-docker - containerd - runc - name: Update APT cache apt: update_cache: yes - name: Install dependencies apt: name: - ca-certificates - curl - gnupg state: present - name: Create directory for GPG keys file: path: /etc/apt/keyrings state: directory mode: '0755' - name: Download Docker GPG key get_url: url: https://download.docker.com/linux/debian/gpg dest: /etc/apt/keyrings/docker.asc mode: '0644' - name: Add Docker repository shell: | echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \ https://download.docker.com/linux/debian $(lsb_release -cs) stable" \ | tee /etc/apt/sources.list.d/docker.list > /dev/null - name: Update APT cache after adding Docker repository apt: update_cache: yes - name: Install Docker and required packages apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present - name: Enable and start Docker service systemd: name: docker enabled: yes state: started