--- - # See https://docs.docker.com/engine/install/debian/#uninstall-old-versions name: Ensure old versions of Docker are not installed. package: name: - docker - docker.io - docker-engine - podman-docker - containerd - runc state: absent - name: Ensure dependencies are installed. apt: name: - apt-transport-https - ca-certificates state: present when: docker_add_repo | bool - name: Ensure directory exists for /etc/apt/keyrings file: path: /etc/apt/keyrings state: directory mode: '0755' - name: Add Docker apt key. ansible.builtin.get_url: url: "{{ docker_apt_gpg_key }}" dest: /etc/apt/keyrings/docker.asc mode: '0644' force: false checksum: "{{ docker_apt_gpg_key_checksum | default(omit) }}" register: add_repository_key ignore_errors: "{{ docker_apt_ignore_key_error }}" when: docker_add_repo | bool - name: Ensure curl is present (on older systems without SNI). package: name=curl state=present when: add_repository_key is failed and docker_add_repo | bool - name: Add Docker apt key (alternative for older systems without SNI). shell: > curl -sSL {{ docker_apt_gpg_key }} | apt-key add - when: add_repository_key is failed and docker_add_repo | bool - name: Add Docker repository. apt_repository: repo: "{{ docker_apt_repository }}" state: present filename: "{{ docker_apt_filename }}" update_cache: true when: docker_add_repo | bool