--- - 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 become: yes - name: Update apt cache apt: update_cache: yes become: yes - name: Install required packages apt: name: - ca-certificates - curl state: present become: yes - name: Create directory for Docker keyring file: path: /etc/apt/keyrings state: directory mode: '0755' become: yes - name: Download Docker GPG key get_url: url: https://download.docker.com/linux/debian/gpg dest: /etc/apt/keyrings/docker.asc mode: '0644' become: yes - name: Add Docker repository apt_repository: repo: "deb [arch={{ ansible_architecture }} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable" state: present filename: docker.list become: yes - name: Update apt cache after adding Docker repository apt: update_cache: yes become: yes - name: Install Docker packages apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present become: yes - name: Ensure Docker service is running and enabled service: name: docker state: started enabled: yes become: yes