--- - name: Installer Docker - Méthode complète hosts: all become: yes tasks: # Vérification préalable - name: Vérifier si Docker est déjà installé command: docker --version register: docker_check changed_when: false failed_when: false - name: Docker déjà présent debug: msg: "✓ Docker déjà installé : {{ docker_check.stdout }}" when: docker_check.rc == 0 - name: Poursuivre l'installation debug: msg: "Docker non détecté, installation en cours..." when: docker_check.rc != 0 # Étape 1 - name: sudo apt update apt: update_cache: yes when: docker_check.rc != 0 # Étape 2 - name: sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release apt: name: - apt-transport-https - ca-certificates - curl - gnupg - lsb-release state: present when: docker_check.rc != 0 # Étape 3 - name: Créer le dossier /etc/apt/keyrings file: path: /etc/apt/keyrings state: directory mode: '0755' when: docker_check.rc != 0 # Étape 4 - name: curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg shell: curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg args: creates: /etc/apt/keyrings/docker.gpg when: docker_check.rc != 0 # Étape 5 - name: chmod a+r /etc/apt/keyrings/docker.gpg file: path: /etc/apt/keyrings/docker.gpg mode: 'a+r' when: docker_check.rc != 0 # Étape 6 - name: Ajouter le dépôt Docker shell: | echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null args: creates: /etc/apt/sources.list.d/docker.list when: docker_check.rc != 0 # Étape 7 - name: sudo apt update (après ajout du dépôt) apt: update_cache: yes when: docker_check.rc != 0 # Étape 8 - name: sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present when: docker_check.rc != 0 # Vérification finale - name: Vérifier que Docker fonctionne command: docker --version register: docker_ver changed_when: false - name: Résultat final debug: msg: "✓ Docker installé et opérationnel : {{ docker_ver.stdout }}"