TP : Virtualisation des applications par la
conteneurisation «Docker»
1. Introduction à Docker :
Docker est un projet open-source sous licence Apache 2 pour automatiser le déploiement
d'application sous forme de conteneurs LXC (conteneurs Linux). Il permet de créer un
conteneur sur une machine puis de l'exécuter sur n'importe quel autre. Il fournit un dépôt
de conteneurs avec des images officielles et des images créées par les utilisateurs
enregistrés, un peu à la manière des dépôts GIT.
2. Objectifs de ce TP sont :
Apprendre à installer une image CENTOS 7/8 sur VMware Workstation.
Mise en place et installation de Docker portant une image ubuntu 14.04 sous Centos 7.
Lancer un benchmark sur un conteneur.
Création d’un « Docker File » exécutant une page html.
Hébergement d’un container sur le réseau local et sur le Docker Hub.
1
3. Environnement de Travail
Les outils à utiliser
Hyperviseurs Systèmes Moteur de
d’exploitation conteneurisation
Les caractéristiques de la machine virtuelle à concevoir sur VMware
workstation:
OS CPU RAM Disk
Centos 7 4 Vcores 2 GB 25GB
4. Travail à faire
Instruction 1 : Installer une machine virtuelle avec une version de distribution
« Centos 7» sur l’hyperviseur « Workstation 15.x ». L’image à utiliser c’est image
« Centos [Link] »,
Instruction 2 : Installation de la plateforme de virtualisation Docker et lancement
d’un conteneur avec une image ubuntu 14.04.
Instruction 3 : Hébérgement/Téléchargement d’un conteneur en local et sur
Dockerhub.
Annexe ( Instruction 2)
2
Désactiver le SELinux sur votre OS. Modifer le statut du champ « SELINUX » à
disabled.
gedit /etc/selinux/config
NB : SELinux (Security-Enhanced Linux) est une architecture de sécurité
pour systèmes Linux® qui permet aux administrateurs de mieux contrôler les accès au
système.
Redémarrer la machine
Installer les « dependencies » reliées à Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
Ajouter « Docker Repository » à votre OS Centos 7
sudo yum-config-manager --add-repo [Link]
[Link]
Faire les mises à jour à votre système
yum update
3
Installer Docker
Sudo yum install docker
Activer et lancer Docker
Sudo systemctl enable docker
Sudo systemctl start docker
Vérifier l’état de Docker et la version de docker installée
Sudo systemctl status docker
docker –-version
Rechercher des images publiques sur Docker Hub pour Ubuntu 14.04.
Docker search ubuntu14.04
Télécharger l’image Ubuntu 14.04 avec le meilleur score à partir de DockerHub.
4
Docker pull ansible/ubuntu4.04-ansible
Vérification des images installées et disponibles en local (Docker Daemon).
Docker images
Executer un conteneur avec une image ubuntu14.04.
Docker run –it ansible/ubuntu14.04-ansible
5
Annexe (Instruction 3)
Créer un dossier nommé « Sopra » et créer en dessous de « Sopra », un fichier sous
le nom « dockerfile ».
Ajouter le code suivant dans le ficher « dockerfile » qui permettera d’installer le
service apache2 dans le conteneur et créer une page html qui contient « Bonjour
Sopra : Keep Calm and try Docker ! »
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y apache2
RUN apt-get install apache2-utils
WORKDIR /var/www/html
RUN echo "<html><body><h1> Bonjour Sopra : Keep Calm and try Docker ! </h1></body></html>"
>[Link]
RUN echo "ServerName localhost" >> /etc/apache2/[Link]
EXPOSE 80
ENTRYPOINT ["apache2ctl"]
CMD ["-DFOREGROUND"]
Céation d’une image nommée webserver à partir du dockerfile
Docker build –t webserver .
Afficher l’ID de l’image creée
Lancer un conteneur avec l’image ‘webserver’ en background :
6
docker run -it –d b2561d24f34d
Vérifier si le conteneur est bien deployé
Lancer un conteneur avec l’image ‘webserver’ en localhost
docker run -it -d -p 80 b2561d24f34d
Se connecter sur Dockerhub
Docker login
7
Donner un nouveau tag à notre image à héberger sur Dockerhub
docker tag b2561d24f34d regaieg/tp5_docker:WEBserver
Télécharger l’image sur Dockerhub en utilisant le tag crée
docker push regaieg/tp5_docker:WEBserver
8
9