Le seul prérequis est d'installer Docker, ici sous Linux1 :
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.shVous pouvez aussi passer par http://play-with-docker.com (Cliquez sur "+ ADD NEW INSTANCE").
curl -s https://raw.githubusercontent.com/goffinet/docker-ansible-lab/master/startlab.sh > ./startlab.sh
chmod +x startlab.sh./startlab.shEt vous êtes directement dans le contrôleur dans le dossier /root/lab avec un inventaire prêt à l'emploi.
./startlab.sh --removestartlab.sh démarre quatre conteneurs docker et vous connecte à l'environnement du "controller".
ansible.controller est un conteneur Alpine Linux dans lequel ansible est disponible. On trouve le Dockerfile dans ce même repo. C'est lui qui gère les trois autres noeuds.
node0, node1 et node2 sont les conteneurs basés Centos 8 qui agissent comme des noeuds exploitables. Ces noeuds ont déjà été approvisionnés avec la clé ssh du conteneur ansible.controller. Ainsi, vous n'avez pas à vous occuper de l'installation des clés. Cette image est disponible sur Registre d'images de Docker et le Dockerfile est dans ce repo.
Certains ports des conteneurs sont exposés en tant que ports "exposés" sur l'hôte :
| Conteneur | Port du conteneur | Port de l'hôte |
|---|---|---|
| node0 | 80 | $HOSTPORT_BASE |
| node1 | 80 | $HOSTPORT_BASE+1 |
| node2 | 80 | $HOSTPORT_BASE+2 |
| node0 | 8080 | $HOSTPORT_BASE+3 |
| node1 | 30000 | $HOSTPORT_BASE+4 |
| node2 | 443 | $HOSTPORT_BASE+5 |
La variable HOSTPORT_BASE est fixée à la valeur 42726 par défaut et peut être changée en démarrant le lab comme suit :
./startlab.sh --remove # Make sure you shut down the previous ones
HOSTPORT_BASE=<some_other_value> ./startlab.sh
Un dossier docker-ansible-lab/lab sur votre machine locale est monté en tant que /root/lab dans le conteneur ansible.controller. Ainsi, vous pouvez utiliser votre éditeur favori sur votre machine locale pour éditer des fichiers.
Cloner le code source et se rendre dans le dossier images :
git clone https://github.com/goffinet/docker-ansible-lab.git
cd docker-ansible-lab/images
make buil_allFootnotes
-
Docker Desktop est aussi disponible pour Windows Install Docker Desktop on Windows et pour Mac Install Docker Desktop on Mac. ↩
