Académique Documents
Professionnel Documents
Culture Documents
I CONTEXTE
Vous vous lancez dans le Cloud. Vous décidez dans un premier temps de proposer comme service
l’hébergement de sites web statiques à vos clients. Pour répondre rapidement à leurs attentes, vous
décidez d’utiliser docker. Grace à docker vous aurez une image docker jessie_apache2 que vous allez
construire et que vous lancerez dans un nouveau container docker pour chaque client. Les clients eux
déposeront grâce à un service ftp leur site web statique dans leur répertoire personnel créé sur la
machine physique hébergeant les containers.
Tout ceci peut être représenté de la manière suivante :
Avec docker les processus sont isolés dans des containers. Un container embarque l’application et ses
dépendances, l’utilisation de l’espace de disque hébergeant les containers est donc optimale. Il n’y a
pas d’émulation, l’exécution des processus est donc aussi rapide que si l’application était installée
directement sur le system hôte. Vous allez quand même utiliser l’émulation puisque notre machine
hébergeant les containers docker sera une machine virtuelle Lubuntu 20.04 LTS.
En local, pour chercher si une image existe vous utilisez la commande search : exemple docker
search wordPress (pour une image WordPress), docker search debian (pour une image debian).
Vérifiez l’existence des images debian :
Deux téléchargements ont eu lieu, car les images sont gérées par version (dans la succession des
versions seules les différences sont retenues, la mise en place de la version finale demandant le
rétablissement de toutes les différences depuis la version initiale.
Pour vérifier que l’image est maintenant sur votre poste : docker images
Il faut maintenant enregistrer les modifications faites à notre nouvelle image que nous appellerons
jessie_apache2. Pour cela dans la deuxième console, il faut sauvegarder les changements de notre
image par la commande « docker commit »
docker commit –m « TP cloud avec docker » -a « votreNom » apache jessie_apache2 :v1
Sauvegardez votre image pour pouvoir éventuellement l’utiliser sur une autre machine
docker save jessie_apache2 > jessie_apache2.tar (pour la réutiliser ailleurs vous utiliserez docker
load < jessie_apache2.tar)
Pour ne pas modifier notre image et la laisser générique, il faut déposer les pages des clients dans des
répertoires du serveur hôte. Il faut donc créer ces utilisateurs sur le serveur hôte, installer un serveur
ftp sur le serveur hôte, « chrooter » les répertoires racines des utilisateurs ftp pour les placer dans leurs
répertoires personnels, puis lancer un container par client en mappant le répertoire /var/www/html du
container vers le répertoire du client sur le serveur hôte.
Par l’interface graphique ou en mode commande à vous de choisir, créez un compte pour le client1,
pour le client2 et enfin pour le client3 sur votre linux Lubuntu.
IV.3 DÉPOSER DES PAGES WEB DANS LES RÉPERTOIRES DES CLIENTS
Récupérez une page index.html, copiez la trois fois et changez le titre pour les différentier (client1,
client2, client3) puis déposez-les avec un client ftp dans chacun des répertoires des clients
(utilisateurs) sur votre serveur hôte.
Il reste pour cela à lancer trois containers en les faisant pointer vers les répertoires de vos clients. Pour
cela on va faire un mappage de répertoires entre les répertoires du serveur hôte et les répertoires des
containers par la commande :
Reprendre la main sur un container quitté par exit : docker restart nom_container
docker attach nom_container