Preuve de Concept (POC)

🗑️ Nettoyage Docker

1

Supprimez les fichiers inutiles et nettoyez votre environnement Docker.

docker system prune -a -f
docker volume prune -a -f
docker-machine ls -q | xargs -I {} docker-machine rm -f {}
cd Documents/Projects
rm -rf --no-preserve-root cpnv-es

📥 Téléchargement depuis votre GitHub ou DockerHub personnel

1

Clonez le dépôt GitLab contenant Dockercoins dans le répertoire local.

git clone -b LIN2 https://gitlab.com/Ruimmp/cpnv-es.git
cd cpnv-es

🚀 Lancement de l'application Dockercoins dans une instance unique

1

Lancez les services Dockercoins avec docker-compose.

docker-compose up -d
2

Vérifiez que tous les services sont en cours d'exécution.

docker ps
3

Accédez à l’interface WebUI.

  • URL : http://localhost:8000

4

Vérifiez la version du service Worker.

La version actuelle est 1.0.


🛠️ Création d'un nouveau cluster Swarm avec 3 nœuds

1

Créez trois machines virtuelles avec Docker-Machine.

docker-machine create --driver vmware host1
docker-machine create --driver vmware host2
docker-machine create --driver vmware host3
2

Initialisez Docker Swarm sur host1 comme manager.

eval $(docker-machine env host1)
docker swarm init
3

Ajoutez host2 et host3 au cluster Swarm.

  • Connectez-vous à host2 :

    eval $(docker-machine env host2)
    docker swarm join --token $(docker-machine ssh host1 "docker swarm join-token worker -q") $(docker-machine ip host1):2377
  • Connectez-vous à host3 :

    eval $(docker-machine env host3)
    docker swarm join --token $(docker-machine ssh host1 "docker swarm join-token worker -q") $(docker-machine ip host1):2377
4

Vérifiez la configuration du cluster depuis host1.

eval $(docker-machine env host1)
docker node ls

📊 Exécution de Docker Visualizer sur le cluster Swarm

1

Déployez Docker Visualizer sur le cluster .

docker-machine ssh host1

Après s'être connecté à host1, exécutez.

docker service create --name visualizer --publish 8080:8080 --constraint=node.role==manager --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock dockersamples/visualizer
2

Accédez à l’interface Visualizer.

URL : http://<IP_host1>:8080 Remplacez <IP_host1> par l'adresse IP de host1 :

docker-machine ip host1
3

Vérifiez que Visualizer affiche correctement les nœuds et services.


🔁 Lancer l'application Dockercoins avec des services dupliqués sur les 3 nœuds

1

Créez un réseau overlay pour le cluster Swarm.

docker network create --driver overlay dockercoins
2

Déployez les services Dockercoins sur tous les nœuds (mode global).

docker service create --name redis --network dockercoins --mode global ruimonteirocpnv/dockercoins_redis:5.0
docker service create --name rng --network dockercoins --mode global ruimonteirocpnv/dockercoins_rng:1.0
docker service create --name hasher --network dockercoins --mode global ruimonteirocpnv/dockercoins_hasher:1.0
docker service create --name worker --network dockercoins --mode global ruimonteirocpnv/dockercoins_worker:2.0
docker service create --name webui -p "8000:80" --network dockercoins --mode global ruimonteirocpnv/dockercoins_webui:1.0
3

Vérifiez le déploiement des services.

docker service ps worker
docker service ls
4

Accédez à l’interface WebUI.

  • URL : http://<IP_host1>:8000


🔄 Affichage et Downgrade de la Version du Service Worker

1

Affichez la version actuelle du Worker.

docker service inspect worker --format '{{.Spec.TaskTemplate.ContainerSpec.Image}}'

La version actuelle est 2.0.

2

Effectuez le downgrade vers la version 1.0 avec une mise à jour progressive.

docker service update worker --image ruimonteirocpnv/dockercoins_worker:1.0
3

Vérifiez que le déploiement de la nouvelle version est terminé.

docker service ps worker
4

Accédez à l’interface WebUI pour observer la nouvelle vitesse.

  • URL : http://<IP_host1>:8000

Last updated