Retour d’expérience sur l’utilisation de conteneurs
La solution docker nous permet de monter rapidement des plateformes de type WordPress pour procéder aux différents développements. Pour cela on utilise un docker-compose.yml qui permet de définir les conteneurs et les caractéristiques associés en précisant les ports d’écoute et les persistances associés.
Exemple de fichier de configuration d’un service WordPress de base.
version: "3.3"
services:
db:
image: mysql:8.4.0
volumes:
- /home/spgoo/v1.0/db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: $$PPLL$$OOUU
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: ++OOUUJJKKHGHYYTFGFG
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- /home/spgoo/V1.0/wordpress_data:/var/www/html
ports:
- 8000:80
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: ++OOUUJJKKHGHYYTFGFG
WORDPRESS_DB_NAME: wordpress
Grâce à ce fichier, on peut démarrer rapidement à l’aide de la commande docker-compose up -d une configuration et démarrer ainsi les deux conteneurs reliés entre eux sur le même lan (virtuel) . Pour y accéder il suffit d’ouvrir un navigateur avec l’url http://localhost:8000. On pourra remarquer dans ce fichier que la persistance est garantie par les deux volumes montés sur le répertoire du compte utilisateur par défaut.
Portage du développement sur serveur cible.
Une fois le développement effectué, il faut déposer les éléments sur la machine cible. On pourra dans ce cas utiliser différents moyens : soit par la constitution d’une image, soit par le dépôt des répertoires contenant les différents parties : frontale et backend.
Conteneurisation d’une instance de MongoDB.
Sécurisation d’une instance de MongoDB.