TP Docker Compose
TP Docker Compose
TP Docker Compose
04
Ubuntu 18.04
Travaux pratique
TP 6 : Docker compose Au : 2022-2023
Niveau : LF3 INFO
Prérequis :
- Ubuntu 20.04
- Une connexion internet
2. Installation curl :
Pour télécharger le package binaire à l'aide d'une URL, vous avez besoin de curl. Vous pouvez
vérifier si vous disposez de cet utilitaire de ligne de commande en tapant dans la fenêtre du
terminal :
Curl
Si la sortie affiche "try 'curl --help' ou 'curl --manual' for more information", passez à l'étape
suivante. Ce message signifie que curl est installé.
docker-compose --version
Si la sortie affiche la version téléchargée à l’étape 3, vous avez correctement installé le package.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Docker Compose Demo</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/gh/kognise/water.css@latest/dist/dark.min.css">
</head>
<body>
</body>
</html>
Maintenant, créer un fichier « docker-compose.yml » et taper :
version: '3.7'
services:
web:
image: nginx:alpine
ports:
- "8000:80"
volumes:
- ./app:/usr/share/nginx/html
Pour vérifier que votre container est en marche , réaliser la commande suivante :
docker-compose ps
7. Démarrez le serveur : docker-compose up -d
mkdir wordpress
gedit wordpress/docker-compose.yml
version:
"3.9"
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- 8080:80
environment:
- PMA_ARBITRARY=1
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./wordpress:/var/www/html
ports:
- "8081:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
wordpress_data: {}
Dans la première ligne, nous spécifions la version du fichier Compose. Il existe plusieurs
versions du format de fichier Compose prenant en charge des versions spécifiques de Docker.
Ensuite, nous définissons deux services, db et wordpress.
Chaque service exécute une image et crée un conteneur distinct lorsque docker-compose est
exécuté.
Le service db :
• Utilise l'image mysql:5.7. Si l'image n'est pas présente sur le système, elle sera extraite
du référentiel public de Docker Hub.
• Utilise la stratégie de redémarrage qui demandera au conteneur de toujours redémarrer.
• Crée un volume nommé db_data pour rendre la base de données persistante.
• Définit les variables d'environnement pour l'image mysql:5.7.
Le service wordpress :
• Utilise l'image wordpress. Si l’image n’est pas présente sur votre système, Compose
l’extraira du référentiel public de Docker Hub.
• Utilise la stratégie de redémarrage qui demandera au conteneur de toujours redémarrer.
• Monte le répertoire wp_data sur l'hôte au répertoire /var/lib/mysql à l’intérieur du
conteneur.
• Transfère le port exposé 80 du conteneur au port 8081 de la machine hôte.
• Définit les variables d'environnement pour l'image wordpress.
• L'instruction depends_on définit la dépendance entre les deux services. Dans cet exemple,
db sera démarré avant wordpress.
docker-compose up -d
Lorsque docker Compose est exécuté en mode détaché (-d) pour arrêter l'utilisation des
services :
Si vous souhaitez supprimer entièrement les conteneurs, utilisez l'option down. Passer
l’option --volume supprimera également les volumes de données.