Ce tutoriel vous guide à travers l’installation de Docker sur plusieurs hôtes en utilisant Ansible et le rôle Ansible populaire maintenu par la communauté geerlingguy.docker.


Prérequis

Avant de commencer, assurez-vous d’avoir :


Étape 1 : Créer le Playbook Ansible

Créez un fichier nommé docker-playbook.yml :

- name: Installer Docker en utilisant le rôle geerlingguy.docker
  hosts: all
  become: yes  # Utiliser sudo pour élever les privilèges
  gather_facts: yes

  roles:
    - geerlingguy.docker

Ce playbook simple applique le rôle d’installation de Docker à tous les hôtes spécifiés.


Étape 2 : Définir les dépendances de rôle et de collection

Créez un fichier nommé requirements.yml pour définir clairement les dépendances de rôle et de collection Ansible externes :

roles:
  - name: geerlingguy.docker
    version: 7.4.1  # Spécifier la version pour la cohérence

collections:
  - name: community.docker
    version: ">=3.0.0"

Spécifier les versions garantit des déploiements répétables et cohérents.


Étape 3 : Installer les rôles et collections requis

Exécutez la commande suivante pour installer les dépendances spécifiées dans requirements.yml :

ansible-galaxy install -r requirements.yml

Cette commande récupère et installe à la fois le rôle et la collection.


Étape 4 : Exécuter le Playbook

Exécutez le playbook en utilisant l’interface de ligne de commande d’Ansible. Vous pouvez spécifier votre inventaire en ligne pour plus de simplicité :

ansible-playbook docker-playbook.yml -i "host1,host2," -u root

Remplacez host1 et host2 par vos véritables noms d’hôtes ou adresses IP cibles.

Remarque :

  • La virgule à la fin de l’inventaire en ligne est requise.
  • L’option -u root définit l’utilisateur qu’Ansible utilise pour se connecter aux hôtes ; modifiez-la en fonction de votre configuration SSH.

Vérification de l’installation de Docker

Après avoir exécuté le playbook, vous pouvez vérifier l’installation de Docker sur chaque hôte en exécutant :

ssh root@host1 docker --version
ssh root@host2 docker --version

Vous devriez voir une sortie similaire à :

Docker version 26.1.3, build XXXXXXX

Conclusion

En suivant cette méthode structurée, vous tirez efficacement parti d’Ansible pour installer Docker de manière cohérente et fiable sur plusieurs serveurs, simplifiant ainsi la gestion de votre infrastructure.