Vous êtes sur la page 1sur 4

TP Docker

Prsentation
L'objectif de ce TP est de prendre en main et de manipuler l'outil Docker dans le cadre d'une
approche "DevOps" pour la cration d'environnement de dveloppement et/ou de production
jetables.

Cration de la machine virtuelle


Il est ncessaire de disposer d'une distribution Linux ayant un noyau suffisamment rcent afin de
disposer de tous les mcanismes ncessaires la bonne utilisation de l'outil.

Une distribution prinstalle CentOS 7 est mise disposition pour la ralisation de ce TP.

Se connecter sur WEBETUD2 et tlcharger le VDI CentOS7 mis disposition.

Crer l'instance de machine virtuelle en utilisant les paramtres suivants :


Nom : CentOS 7 - TP Docker
Type / Systme : Linux
Version : Red Hat (64 Bit)
Mmoire : 1024 Mo
Disque dur - Utiliser un disque dur existant : Importer le disque dur VDI tlcharg
prcdemment

Affiner le paramtrage de la machine virtuelle en considrant les paramtres suivants
Affichage
Mmoire Vido : 32 Mo
Rseau
Carte Rseau 1 uniquement.
Mode d'accs : NAT

Mettre en place une redirection de ports pour pouvoir se connecter en SSH sur la machine
virtuelle depuis la machine Windows en utilisant PUTTY. (Rappel : Le port SSH standard est
22)

Dmarrer la VM

Installation et dmarrage de Docker


Se connecter la machine virtuelle via SSH (Identifiants : root/iutb31700!)
Mettre jour les packets CentOS : yum update (1er Avril)
Installer puis dmarrer Docker comme vu en cours

Vrifier que Docker fonctionne en listant les images locales

Utilisation de Docker
Tlcharger depuis le registre Docker HUB l'image Debian issue du dpt officiel identifie par
le tag stable. (docker search)

Lancer un conteneur Docker bas sur l'image Debian stable et excuter le shell /bin/bash

Raliser les oprations suivantes dans le conteneur :


Crer les utilisateurs asr1 et asr2
Crer le rpertoire /var/www/site/dev

Sortir du conteneur en quittant le shell lanc l'intrieur de celui-ci

Relancer le conteneur. Que constatez vous ? Pourquoi ?

Corriger le problme en utilisant une des possibilits de Docker

Cration d'un serveur de dveloppement

Cration de l'image

On souhaite mettre en place un serveur de dveloppement Apache/PHP bas sur une Debian
Wheezy stock dans un conteneur Docker. Pour cela, on souhaite crer un modle (image)
permettant d'instancier ce type de conteneur.

Ecrire un fichier Dockerfile ralisant les oprations suivantes :


Mettre jour la liste des paquetages
Installation des paquetages apache2 php5 libapache2-mod-php5 (Utiliser le
paramtre -y pour confirmer automatiquement l'installation des paquetages)
Crer le rpertoire /var/www/site1 hbergeant le futur site de test

Dployer le fichier de configuration suivant dans le rpertoire des sites disponibles


d'Apache de l'image
<VirtualHost *:80>
ServerAdmin webmaster@asr.edu

DocumentRoot /var/www/site1

<Directory /var/www/site1/>
Order deny,allow
deny from all
</Directory>

ErrorLog /var/log/apache2/site1-error.log

CustomLog /var/log/apache2/site1-access.log combined

ServerSignature On
</VirtualHost>

Dsactiver le site web par dfaut (cf. TP2) et activer le nouveau site

Gnrer l'image partir du fichier Dockerfile et stocker celle-ci dans un dpt local.

Lancer le conteneur partir de l'image cre en mode non interactif

Vrifier que le conteneur est correctement lanc puis tester l'accs au site Web de test dploy
depuis :
La machine virtuelle CentOS (wget)
L'hte Windows (Utilisation d'un navigateur graphique)

Ajout du fichier phpinfo.php


Crer un fichier phpinfo.php sur la machine hte et l'insrer au bon
endroit dans le conteneur
Refaire le buid et tester depuis CentOS et Windows (C)
Examiner les adresses IPs source et destination indiqus par
phpinfo.php

Pour aller plus loin


Maintenant que notre image est fonctionnelle, on souhaite la publier sur le registre Docker officiel
afin de pouvoir la partager avec la communaut. La dernire tape du TP consiste crer un compte
sur le registre public et d'y dposer l'image cre prcdemment.

Cration d'un compte

Se rendre sur le site https://hub.docker.com/account/signup/ et crer un compte


personnel.

Procder la validation par "E-Mail" afin de pouvoir accder toutes les fonctionnalits du
compte.

Cration du dpt en ligne

Se rendre dans la section "Repositories" de son espace personnel puis lancer l'assistant de
cration d'un dpt

Remplir le nom du dpt et la description et configurer celui-ci pour qu'il soit Public

Mise disposition de l'image


Depuis la machine virtuelle s'authentifier sur le registre docker (docker login)

Envoyer l'image sur le registre Docker (docker push)

Vrifier sur le site Web du registre Docker que l'image est bien disponible

Rcupration d'une image dpose

Tlcharger une image dpose par un autre groupe sur le registre Docker et instancier un
container partir de celle-ci.