Les commande docker Définition du cloud : const express = require('express');
docker run: Lance un conteneur à partir d'une image Docker Le terme « Cloud » désigne les serveurs accessibles sur const app = express();
spécifiée. Internet ainsi que les logiciels et bases de données qui const mysql = require('mysql');
fonctionnement sur ces serveurs const connection = mysql.createConnection({
docker build: Construit une nouvelle image Docker à partir . Les avantages du cloud : host: 'localhost',
d'un fichier de configuration appelé Dockerfile. user: 'root',
- Faible coût et disponibilité continue - Maintenance
password: '',
allégée et automatisée - Les employés peuvent travailler de
docker pull: Télécharge une image Docker depuis un database: 'four',
n’importe où.
registre, par exemple Docker Hub. });
Définition du cloud native : app.use(express.json()); // Enable JSON request body parsing
Le Cloud Native décrit une approche de développement // Get all fournisseurs
docker push: Envoie une image Docker vers un registre, par
logiciel dans laquelle les applications sont dès le début app.get('/fournisseur', (req, res) => {
exemple Docker Hub, afin de la rendre disponible pour
conçues pour une utilisation sur le Cloud. connection.query('SELECT * FROM fournisseur', (error, results) => {
d'autres utilisateurs.
Les avantages du cloud native : if (error) {
docker stop: Arrête l'exécution d'un ou plusieurs - La flexibilité : les modifications apportées au code n’ont console.error(error);
conteneurs. pas d’impact sur le logiciel dans son ensemble. - return res.status(500).json({ error: 'Internal Server Error' });
L’évolutivité : éviter la mise à niveau coûteuse du matériel }
docker start: Démarre un ou plusieurs conteneurs arrêtés. en cas d’augmentation des exigences pour un service. - res.status(200).json(results);
L’automatisation : qui permet d’éliminer les erreurs. - La });
docker restart: Redémarre un ou plusieurs conteneurs. vitesse et l’agilité : répondre rapidement aux conditions du });
marché
docker rm: Supprime un ou plusieurs conteneurs. Définition de l’architecture micro-services : // Get fournisseur by ID
L’architecture micro-services consiste à décomposer app.get('/fournisseur/:id', (req, res) => {
docker rmi: Supprime une ou plusieurs images Docker. l’application en un ensemble de petites services const id = req.params.id;
indépendantes appelés micro-services. Chaque micro- connection.query('SELECT * FROM fournisseur WHERE id = ?', [id], (error, results) => {
docker ps: Affiche les conteneurs en cours d'exécution. service possède son propre logique et sa propre base de if (error) {
données. console.error(error);
docker images: Liste les images Docker présentes sur le Les avantages de l’architecture micro-services : return res.status(500).json({ error: 'Internal Server Error' });
système. }
- L’agilité technologique : le choix technologique dans une if (results.length === 0) {
docker exec: Exécute une commande à l'intérieur d'un architecture microservices peut être adapté aux besoins return res.status(404).json({ error: 'fournisseur not found' });
conteneur en cours d'exécution. spécifiques de chaque micro-service - Un déploiement }
continue et rapide : grâce à l’utilisation des conteneurs - La res.status(200).json(results[0]);
docker logs: Affiche les journaux de sortie d'un conteneur. scalabilité : selon le trafic du système, on peut ajouter des });
instances d’un microservice ou en détruire. });
docker inspect: Récupère des informations détaillées sur un Définition de RabbitMQ :
ou plusieurs conteneurs, images, réseaux ou volumes. RabbitMQ est un système de messagerie open-source basé // Create a new fournisseur
sur le modèle de message broker. Il agit comme un app.post('/fournisseur', (req, res) => {
docker network: Gère les réseaux Docker, notamment la intermédiaire entre les applications distribuées, leur const { Reseau_social, Adresse, Telephone } = req.body;
création, la suppression et la gestion des connexions entre permettant d’échanger des messages de manière fiable et connection.query(
les conteneurs. asynchrone 'INSERT INTO fournisseur (Reseau_social, Adresse, Telephone) VALUES (?, ?, ?)',
[Reseau_social, Adresse, Telephone],
Les commandes Docker-compose : (error, result) => {
Les avantages de RabbitMQ :
if (error) {
- La durabilité : les données ne seront pas perdues en cas de
console.error(error);
docker-compose up: Démarre les conteneurs définis dans le pannes du serveur ou de redémarrage. - Haut disponibilité
return res.status(500).json({ error: 'Internal Server Error' });
fichier docker-compose.yml. Si les conteneurs n'existent pas, et mise en cluster : plusieurs nœuds RabbitMQ travaillent
}
ils seront créés. ensemble pour assurer la fiabilité et la disponibilité des
const id = result.insertId; // Retrieve the auto-generated id
messages.
res.status(201).json({ id, Reseau_social, Adresse, Telephone });
docker-compose down: Arrête et supprime les conteneurs Définition de Azure : }
définis dans le fichier docker-compose.yml. Les volumes Azure est la plateforme de cloud computing de Microsoft. Il );
Docker associés ne sont pas supprimés par défaut, mais s'agit d'un ensemble de services et de ressources });
vous pouvez utiliser l'option --volumes pour les supprimer informatiques disponibles à la demande via Internet. Il
également. permet aux entreprises de déployer, gérer et exécuter // Update fournisseur by ID
diverses applications et charges de travail. app.put('/fournisseur/:id', (req, res) => {
docker-compose build: Construit ou reconstruit les images Les avantages de Azure : const id = req.params.id;
des services définis dans le fichier docker-compose.yml. - Évolutivité : faire face à des besoins variables en termes de const { Reseau_social, Adresse, Telephone } = req.body;
Cela est utile lorsque vous avez apporté des modifications ressources informatiques. - Fiabilité : grâce à la réplication connection.query(
des données et à la redondance des services sur des centres 'UPDATE fournisseur SET Reseau_social = ?, Adresse = ?, Telephone = ? WHERE id =
au code source ou aux dépendances.
de données multiples. - Sécurité : des fonctionnalités de ?',
sécurité avancées pour protéger les données et les [Reseau_social, Adresse, Telephone, id],
docker-compose restart: Redémarre les conteneurs définis
applications. - Flexibilité : création et déploiement des (error) => {
dans le fichier docker-compose.yml sans les reconstruire. applications hybrides. - Tarification flexible : payer if (error) {
uniquement pour les ressources réellement utilisées. - console.error(error);
docker-compose stop: Arrête les conteneurs définis dans le Intégration avec les outils Microsoft. - Large gamme de return res.status(500).json({ error: 'Internal Server Error' });
fichier docker-compose.yml sans les supprimer. services. }
Définition de Docker : res.status(200).json({ id, Reseau_social, Adresse, Telephone });
docker-compose start: Démarre les conteneurs définis dans Docker est une plateforme qui permet de créer facilement }
le fichier docker-compose.yml qui ont été arrêtés. des conteneurs et des applications basées sur les );
conteneurs. });
docker-compose ps: Affiche l'état des conteneurs définis Avantages des conteneurs :
dans le fichier docker-compose.yml, y compris les ports // Delete fournisseur by ID
- La portabilité : les conteneurs peuvent s’exécuter sur
exposés. app.delete('/fournisseur/:id', (req, res) => {
n’importe quelle plateforme ou cloud. - L’isolation : les
const id = req.params.id;
conteneurs fonctionnent d’une manière indépendante. -
docker-compose logs: Affiche les journaux de sortie des connection.query('DELETE FROM fournisseur WHERE id = ?', [id], (error, results) => {
Mise à l’échelle flexible : le nombre des conteneurs
conteneurs définis dans le fichier docker-compose.yml. if (error) {
démarrés est en fonction du nombre d’utilisateurs. - La
console.error(error);
facilité de gestion : grâce à l’utilisation des plateformes
return res.status(500).json({ error: 'Internal Server Error' });
docker-compose exec: Exécute une commande à l'intérieur d’orchestration des conteneurs. - La vitesse
}
d'un conteneur en cours d'exécution défini dans le fichier Définition de Dockerfile : if (results.affectedRows === 0) {
docker-compose.yml. Un Dockerfile est un fichier qui liste les instructions à return res.status(404).json({ error: 'fournisseur not found' });
exécuter pour construire une image. }
docker-compose down --volumes: Arrête et supprime les res.status(200).json({ message: 'fournisseur deleted' });
conteneurs définis dans le fichier docker-compose.yml, ainsi });
que les volumes Docker associés. });
app.listen(8080, () => {
console.log("Server is running on port 8080"); });