Docker - Construction d'un Serveur Web
Bonjour, futurs développeurs ! Aujourd'hui, nous allons entreprendre un voyage passionnant à travers le monde de Docker et des serveurs web. En tant que votre enseignant de informatique bienveillant, je suis là pour vous guider à travers cette aventure pas à pas. Ne vous inquiétez pas si vous êtes nouveau dans la programmation - nous allons commencer par les bases et progresser pas à pas. Alors, prenez une tasse de café (ou votre boisson favorite) et plongeon dans !
Comprendre Docker et les Serveurs Web
Qu'est-ce que Docker ?
Imaginez que vous déménagez dans une nouvelle maison. Au lieu de tout emballer dans des boîtes au hasard, vous organisez soigneusement vos affaires dans des conteneurs étiquetés. C'est essentiellement ce que Docker fait pour les logiciels ! Il empaquette les applications et leurs dépendances dans des unités standardisées appelées conteneurs. Cela rend facile de déplacer, déployer et exécuter des applications de manière cohérente dans différents environnements.
Qu'est-ce qu'un Serveur Web ?
Un serveur web est comme un serveur numérique dans un restaurant. Lorsque vous tapez une adresse de site web dans votre navigateur, le serveur web prend votre demande, récupère les pages web appropriées et les vous sert. Il est la colonne vertébrale d'Internet, assurant que vous pouvez accéder aux sites web whenever vous le souhaitez.
Créer un Serveur Web Simple avec Docker
Étape 1 : Configuration de l'Environnement
Tout d'abord, assurons-nous que nous avons Docker installé sur notre ordinateur. Si vous ne l'avez pas encore fait, rendez-vous sur le site officiel de Docker et suivez le guide d'installation pour votre système d'exploitation.
Étape 2 : Création d'un Fichier HTML Simple
Commençons par créer un fichier HTML simple que notre serveur web affichera. Créez un nouveau fichier appelé index.html
avec le contenu suivant :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mon Serveur Web Docker</title>
</head>
<body>
<h1>Bonjour, Monde Docker !</h1>
<p>Cette est une page web simple servie par Docker.</p>
</body>
</html>
Ce fichier HTML crée une page web de base avec un titre et un paragraphe. C'est comme écrire une lettre simple que notre serveur web distribuera aux visiteurs.
Étape 3 : Création du Dockerfile
Maintenant, créons notre Dockerfile. C'est comme une recette qui indique à Docker comment construire notre conteneur de serveur web. Créez un nouveau fichier appelé Dockerfile
(sans extension) avec le contenu suivant :
FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html
Décomposons cela :
-
FROM nginx:alpine
: Cela indique à Docker d'utiliser l'image officielle Nginx basée sur Alpine Linux comme point de départ. -
COPY index.html /usr/share/nginx/html/index.html
: Cela copie notre fichier HTML dans le répertoire par défaut où Nginx cherche les pages web.
Étape 4 : Construction de l'Image Docker
Maintenant que nous avons notre Dockerfile, construisons notre image Docker. Ouvrez votre terminal, naviguez dans le répertoire contenant votre Dockerfile et index.html
, et exécutez :
docker build -t mon-serveur-web .
Cette commande indique à Docker de construire une image basée sur notre Dockerfile et de la taguer comme "mon-serveur-web". Le point à la fin indique à Docker de chercher le Dockerfile dans le répertoire courant.
Étape 5 : Exécution du Conteneur Docker
Nous y sommes presque ! Exécutons notre conteneur Docker :
docker run -d -p 8080:80 mon-serveur-web
Cette commande fait ce qui suit :
-
-d
: Exécute le conteneur en mode détaché (en arrière-plan) -
-p 8080:80
: Mappe le port 8080 sur votre ordinateur au port 80 dans le conteneur -
mon-serveur-web
: Le nom de notre image Docker
Test du Serveur Web
Place maintenant à la vérité ! Ouvrez votre navigateur web et allez à http://localhost:8080
. Vous devriez voir notre message "Bonjour, Monde Docker !". Félicitations ! Vous venez de créer et de déployer un serveur web avec Docker !
Sujets Avancés
Personnalisation de la Configuration Nginx
Que faire si nous voulons personnaliser le comportement de notre serveur web ? Nous pouvons le faire en modifiant la configuration Nginx. Créons un fichier de configuration Nginx personnalisé appelé nginx.conf
:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html;
}
location /api {
return 200 '{"message": "Cette est une réponse API exemple"}';
add_header Content-Type application/json;
}
}
Cette configuration fait deux choses :
- Elle sert notre fichier HTML comme avant.
- Elle crée un point de terminaison API simple à
/api
qui renvoie une réponse JSON.
Maintenant, mettons à jour notre Dockerfile pour utiliser cette configuration :
FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html
COPY nginx.conf /etc/nginx/conf.d/default.conf
Reconstruisez votre image Docker et exécutez-la à nouveau. Maintenant, si vous allez à http://localhost:8080/api
, vous verrez la réponse JSON !
Conclusion
Et voilà, amis ! Nous avons voyagé des bases de Docker et des serveurs web à la création de notre propre conteneur de serveur web personnalisé. Souvenez-vous, c'est apenas le début. Le monde de Docker et du développement web est vaste et passionnant, avec des possibilités infinies à explorer.
Voici un résumé rapide des méthodes que nous avons apprises, présenté sous forme de tableau :
Méthode | Description |
---|---|
docker build |
Construit une image Docker à partir d'un Dockerfile |
docker run |
Crée et démarre un conteneur Docker |
docker ps |
List les conteneurs Docker en cours d'exécution |
docker stop |
Arrête un conteneur Docker en cours d'exécution |
docker rm |
Supprime un conteneur Docker |
Continuez à pratiquer, continuez à explorer, et surtout, continuez à vous amuser avec le codage ! Qui sait ? La prochaine grande application web pourrait être à quelques conteneurs Docker de distance. Jusqu'à la prochaine fois, bon codage !
Credits: Image by storyset