--- # Docker installation tasks - name: Update apt cache apt: update_cache: yes cache_valid_time: 3600 - name: Install required system packages apt: name: "{{ system_packages }}" state: present - 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=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable" state: present update_cache: yes - name: Install Docker apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present - name: Start and enable Docker service systemd: name: docker state: started enabled: yes - name: Install Python Docker SDK command: python3 -m pip install docker --break-system-packages when: not ansible_check_mode - name: Add current user to docker group user: name: "{{ ansible_user }}" groups: docker append: yes - name: Install Docker Compose (standalone) get_url: url: "https://github.com/docker/compose/releases/download/v{{ docker_compose_version }}/docker-compose-linux-x86_64" dest: /usr/local/bin/docker-compose mode: '0755' - name: Create docker-compose symlink file: src: /usr/local/bin/docker-compose dest: /usr/bin/docker-compose state: link - name: Verify Docker installation command: docker --version register: docker_version changed_when: false - name: Verify Docker Compose installation command: docker-compose --version register: docker_compose_version_output changed_when: false - name: Display Docker version debug: msg: "Docker installed: {{ docker_version.stdout }}" - name: Display Docker Compose version debug: msg: "Docker Compose installed: {{ docker_compose_version_output.stdout }}"