#- name: Check if docker is already installed # stat: # path: /usr/bin/docker # register: docker_file - name: Install Packages # when: docker_file.stat.exists == False package: name: - gpg - gpg-agent - python3-debian tags: docker_repo - name: Create apt keyrings directory file: path: /etc/apt/keyrings state: directory mode: "0755" tags: docker_repo - name: Add docker-key get_url: url: "https://download.docker.com/linux/{{ ansible_facts.distribution | lower }}/gpg" dest: /etc/apt/keyrings/docker.asc mode: "0644" tags: docker_repo - name: Remove one-line docker-repository file: path: /etc/apt/sources.list.d/docker.list state: absent tags: docker_repo - name: Add docker-repository deb822_repository: name: docker types: deb uris: "https://download.docker.com/linux/{{ ansible_facts.distribution | lower }}" suites: "{{ ansible_facts.distribution_release }}" components: stable signed_by: /etc/apt/keyrings/docker.asc register: docker_repo tags: docker_repo - name: Update apt cache after docker-repository change apt: update_cache: yes when: docker_repo.changed tags: docker_repo - name: Install docker package: name: - docker-ce - docker-ce-cli - containerd.io - docker-compose-plugin - pass state: latest - name: Deploy docker-compose command to new docker compose plugin ansible.builtin.copy: src: docker-compose dest: "/usr/local/bin/docker-compose" mode: preserve