--- # Main tasks for docker role - install Docker and Docker Compose - name: Install prerequisites apt: name: - apt-transport-https - ca-certificates - curl - gnupg - lsb-release state: present update_cache: yes - name: Add Docker GPG key apt_key: url: https://download.docker.com/linux/ubuntu/gpg state: present - name: Add Docker repository apt_repository: repo: "deb [arch=arm64,amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable" state: present filename: docker - name: Install Docker Engine apt: name: - docker-{{ docker_edition }} - docker-{{ docker_edition }}-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present update_cache: yes notify: Restart Docker - name: Create Docker daemon configuration directory file: path: /etc/docker state: directory mode: '0755' - name: Configure Docker daemon template: src: daemon.json.j2 dest: /etc/docker/daemon.json mode: '0644' notify: Restart Docker - name: Create Docker networks community.docker.docker_network: name: "{{ item.name }}" driver: "{{ item.driver }}" state: present loop: "{{ docker_networks }}" - name: Ensure Docker is running and enabled service: name: docker state: started enabled: yes - name: Create /opt/docker directory for compose files file: path: /opt/docker state: directory mode: '0755'