--- - name: Ensure old versions of Docker are not installed. package: name: - docker - docker.io - docker-engine state: absent - name: Ensure dependencies are installed. apt: name: - apt-transport-https - ca-certificates state: present when: docker_add_repo | bool - name: Ensure additional dependencies are installed (on Ubuntu < 20.04 and any other systems). apt: name: gnupg2 state: present when: ansible_distribution != 'Ubuntu' or ansible_distribution_version is version('20.04', '<') - name: Ensure additional dependencies are installed (on Ubuntu >= 20.04). apt: name: gnupg state: present when: ansible_distribution == 'Ubuntu' and ansible_distribution_version is version('20.04', '>=') - name: Ensure directory exists for /etc/apt/keyrings file: path: /etc/apt/keyrings state: directory mode: '0755' - name: Ensure curl is present package: name=curl state=present - name: Add Docker apt key shell: > curl -fsSL {{ docker_apt_gpg_key }} | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg --yes changed_when: false - name: Change permissions for /etc/apt/keyrings/docker.gpg file: path: /etc/apt/keyrings/docker.gpg mode: 'a+r' - name: Add Docker repository. apt_repository: repo: "{{ docker_apt_repository }}" state: present filename: "{{ docker_apt_filename }}" update_cache: true when: docker_add_repo | bool