--- - name: remove conflicting packages become: true ansible.builtin.apt: state: absent name: - docker.io - docker-doc - docker-compose - podman-docker - containerd - name: install prerequisites become: true ansible.builtin.apt: state: present name: - ca-certificates - curl - gnupg - name: ensure apt keyring directory exists become: true ansible.builtin.file: state: directory path: /etc/apt/keyrings mode: '0755' owner: root group: root - name: download docker gpg key become: true ansible.builtin.get_url: url: https://download.docker.com/linux/debian/gpg dest: /etc/apt/keyrings/docker.asc mode: '0644' owner: root group: root - name: determine architecture changed_when: false register: docker_arch ansible.builtin.command: cmd: dpkg --print-architecture - name: add docker repo become: true ansible.builtin.apt_repository: state: present filename: docker update_cache: true repo: > deb [arch={{ docker_arch.stdout }} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable - name: install docker + compose plugin and dependencies become: true notify: docker_run_test ansible.builtin.package: state: present name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin