--- - name: Ensure Docker repository is enabled (CentOS) template: src: "{{ role_path }}/files/yum.repos.d/{{ item }}" dest: "/etc/yum.repos.d/{{ item }}" owner: "root" group: "root" mode: 0644 with_items: - docker-ce.repo when: ansible_distribution == 'CentOS' - name: Ensure Docker's RPM key is trusted rpm_key: state: present key: https://download.docker.com/linux/centos/gpg when: ansible_distribution == 'CentOS' - name: Ensure yum packages are installed (CentOS) yum: name: - bash-completion - docker-ce - docker-python - ntp - fuse state: latest update_cache: yes when: ansible_distribution == 'CentOS' - name: Ensure APT usage dependencies are installed (Debian) apt: name: - apt-transport-https - ca-certificates state: present update_cache: yes when: ansible_os_family == 'Debian' - name: Gather package facts (Debian) package_facts: when: ansible_os_family == 'Debian' - name: Ensure Docker's APT key is trusted (Debian) apt_key: url: https://download.docker.com/linux/ubuntu/gpg id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88 state: present register: add_repository_key ignore_errors: true when: ansible_os_family == 'Debian' and 'docker.io' not in ansible_facts.packages - name: Ensure Docker repository is enabled (Debian) apt_repository: repo: "deb [arch=amd64] https://download.docker.com/linux/{{ ansible_distribution|lower }} {{ ansible_distribution_release }} stable" state: present update_cache: yes when: ansible_os_family == 'Debian' and 'docker.io' not in ansible_facts.packages - name: Ensure APT packages are installed (Debian) apt: name: - bash-completion - python-docker - ntp - fuse state: latest update_cache: yes when: ansible_os_family == 'Debian' - name: Ensure docker-ce is installed (Debian) apt: name: - docker-ce state: latest update_cache: yes when: "'docker.io' not in ansible_facts.packages" - name: Ensure Docker is started and autoruns service: name: docker state: started enabled: yes - name: Ensure ntpd is started and autoruns service: name: "{{ 'ntpd' if ansible_os_family == 'RedHat' else 'ntp' }}" state: started enabled: yes