Files
ansible-playbooks/InstalleDocker.yml
2026-02-16 00:39:17 +00:00

98 lines
2.9 KiB
YAML

---
- 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 }}"