đź•’ : 3 h maximum
Prérequis:
But:
installer un serveur apache dans un conteneur que l’on pourra reproduire sans difficultĂ©.
Répertoire de travail:
/~/works/TP1_Docker
Présentation du TP
- Le conteneur Docker va nous permettre de faire fonctionner un serveur WEB Apache,
- on va partager ici le rĂ©pertoire du docker /var/http/www avec un rĂ©pertoire de la machine hĂ´te qui nous permettra d’utiliser facilement notre Docker.
- on va rediriger le port 80 du docker vers le port 8080 ici pour notre TP , on obtiendra une site accessible en local ! (firefox, chrome, chromium…)

Dans le répertoire TP1_Docker réaliser un répertoire site_apache dans lequel on va mettre un fichier index.html
fichier index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Mon serveur Debian</title>
</head>
<body>
<h1>âś… Apache fonctionne sur Debian 12 !</h1>
<p>Ce fichier vient du dossier partagé "site_apache"</p>
</body>
</html>
On va fabriquer et lancer notre Docker
on a besoin d’un d’un fichier Dockerfile pour la rĂ©aliser ce Docker , dans le rĂ©pertoire TP1_DOCKER_APACHE
on va simplement partir d’une base de docker debian:12 et y installer ce qu’il faut Ă l’intĂ©rieur .
# ÉTAPE 1 : On part d'une Debian 12 toute propre
FROM debian:12
# ÉTAPE 2 : On met à jour les paquets et on installe Apache
# apt-get update = met Ă jour la liste des paquets disponibles
# -y = dit "oui" automatiquement aux questions
RUN apt-get update && \
apt-get install -y apache2 && \
# Nettoie pour réduire la taille de l'image
apt-get clean
# ÉTAPE 3 : On configure Apache pour qu'il reste actif
# En Docker, un programme doit rester au premier plan
# Apache2ctl est la commande de contrĂ´le d'Apache
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
# On indique que le conteneur utilise le port 80
EXPOSE 80
Construire avec la commande build
# Construit l'image Ă partir du Dockerfile
# -t = tag (nom) qu'on donne Ă l'image
docker build -t debian12-apache .
Lancer notre docker
# Lance un conteneur Ă partir de notre image
docker run -d \
--name serveur-web \
-p 8080:80 \
-v $(pwd)/site_apache:/var/www/html \
debian12-apache
-d : pour detach
--name : pour lui donner un nom Ă nous (pas par docker qui pourtant nous propose des noms sympas!)
-p 8080:80 : dirige le port 8080 vers le port 80 du Docker
-v : pour partager le répertoire
Se connecter au docker
docker exec -it serveur-web bash
Réaliser une sauvegarde du docker et le remettre en oeuvre sur une autre machine.
