Créer une stack de services sous Rancher 1.x
Suite du tutoriel Rancher 1.x : comment créer une stack applicative avec un service WordPress et une base de données MySQL en quelques minutes.
Dans un précédent article, nous avons vu comment déployer un serveur Rancher 1.x avec Docker en quelques minutes. Aujourd’hui, nous allons voir comment créer une stack de services sous Rancher, avec :
- un service WordPress
- une base de données MySQL
Ajouter une stack
-
Cliquez sur le menu « Stacks », puis sur « Add Stack ».

-
Donnez un nom à votre stack, par exemple
wordpress.
-
Vous pouvez laisser les champs
docker-compose.ymletrancher-compose.ymlvides pour le moment, nous allons ajouter les services manuellement.
-
Cliquez sur « Create » pour valider la création de la stack.
Sachez qu’il est également possible d’importer directement un fichier docker-compose.yml existant pour créer tous les services de la stack en une seule fois. Mais pour bien comprendre le fonctionnement de Rancher, nous allons procéder service par service.
Ajouter des services
Notre stack wordpress est maintenant créée, mais elle est vide. Nous allons y ajouter deux services :
Quel service démarrer en premier ?
WordPress a besoin d’une base de données pour fonctionner. Il faut donc démarrer le service MySQL avant le service WordPress, pour que ce dernier puisse s’y connecter dès son démarrage.
Démarrer MySQL
L’image mysql accepte plusieurs variables d’environnement pour sa configuration, notamment :
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=monsupermotdepasse -e MYSQL_DATABASE=wordpress -e MYSQL_USER=wordpress -e MYSQL_PASSWORD=monsupermotdepasse mysql:5.7
Pour ajouter ce service depuis l’interface de Rancher :
-
Cliquez sur « Add Service » depuis votre stack
wordpress.
-
Renseignez le nom du service (
mysql), l’image (mysql:5.7) et les variables d’environnement vues ci-dessus.
-
Cliquez sur « Create ». Le service va démarrer, ce qui peut prendre quelques instants la première fois (initialisation de la base de données).

-
Une fois démarré, le service apparaît en vert.

Félicitations, votre base de données MySQL est prête à accueillir WordPress !
Démarrer WordPress
De la même façon, voici la commande Docker équivalente pour le service WordPress :
docker run -d --name wordpress -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_USER=wordpress -e WORDPRESS_DB_PASSWORD=monsupermotdepasse -e WORDPRESS_DB_NAME=wordpress -p 8080:80 wordpress:latest
Notez la variable WORDPRESS_DB_HOST=mysql : sous Rancher, chaque service d’une stack peut joindre les autres services par leur nom, grâce à la résolution DNS interne (cattle-dns).
-
Ajoutez un nouveau service
wordpressavec l’imagewordpress:latestet les variables d’environnement ci-dessus.
-
Une fois créé, vous devriez voir vos deux services (
mysqletwordpress) actifs dans la stack.
Accéder à WordPress depuis l’extérieur
Il ne reste plus qu’à exposer le service WordPress sur le port 80, via le load balancer intégré de Rancher.
-
Depuis le menu « Load Balancing », créez un nouveau load balancer pointant vers le port 80 de votre hôte, redirigé vers le port 80 du conteneur
wordpress.
-
Votre stack est maintenant complète : MySQL, WordPress et le load balancer fonctionnent ensemble.

Vous pouvez désormais accéder à votre site via l’IP publique de votre hôte, et terminer l’installation de WordPress.

Pour aller plus loin
Il ne vous reste plus qu’à ajouter de la persistance pour vos données MySQL et vos fichiers WordPress, ou à passer à une configuration en haute disponibilité avec plusieurs hôtes. Mais ce sera pour un prochain article.