0% ont trouvé ce document utile (0 vote)
222 vues35 pages

Docker

Transféré par

meryha.one
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
222 vues35 pages

Docker

Transféré par

meryha.one
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Création et Administration

des Conteneurs Docker

Présenté par : JADLI AISSAM


SÉANCE 8
1
SOMMAIRE
❖ Introduction

❖ Intérêt de la Conteneurisation

❖ Présentation de Docker

❖ Images et Conteneurs Docker

Mr. JADLI AISSAM 2


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Introduction
Les machines virtuelles (VM) sont de plus en plus utilisées par les entreprises. Une VM est un
environnement de système d’exploitation ou d’application installé sur logiciel.
Elle permet à l’utilisateur de profiter de la même expérience que sur une machine physique, avec
plusieurs avantages :
✔ Réduire les coûts dans une entreprise en diminuant le nombre de machines.
✔ Lancer plusieurs environnements d’OS sur la même machine.
✔ Les besoins en énergie sont atténués.
✔ Les backups/restaurations sont simplifiés.
✔ Isolation des systèmes les uns des autres.

Mr. JADLI AISSAM 3


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Introduction
les hyperviseurs de machines virtuelles

reposent sur une émulation du hardware, et

requièrent donc beaucoup de puissance de

calcul.

Mr. JADLI AISSAM 4


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Introduction
Pour remédier à ce problème, de

nombreuses firmes se tournent vers

la Conteneurisation comme une

solution alternative.

Mr. JADLI AISSAM 5


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Problématique

Mr. JADLI AISSAM 6


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Problématique

Solution ?? Mr. JADLI AISSAM 7


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Analogie de la Problématique

Mr. JADLI AISSAM 8


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Analogie de la Problématique

Mr. JADLI AISSAM 9


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Problématique : Solution de l’Analogie

Mr. JADLI AISSAM 10


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Problématique : Solution de Analogie

Mr. JADLI AISSAM 11


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Solution
Le découplage Application / Environnement permet de
déployer des applications basées sur des conteneurs
facilement et de manière cohérente, que l'environnement
cible soit un centre de données privé, le Cloud public ou
même l'ordinateur portable personnel d'un développeur.

Cela donne aux développeurs la possibilité de créer des


environnements prévisibles qui sont isolés du reste des
applications et peuvent être exécutés n'importe où .

Mr. JADLI AISSAM 12


Introduction Conteneurisation Présentation Docker Images et Conteneurs

La Conteneurisation
Les conteneurs sont une (autre) façon de faire tourner un système d’exploitation et une
application de manière isolée et virtualisée. À chaque démarrage, on part sur un nouvel
environnement tout neuf. Il est possible de faire tourner plusieurs containers sur une même
machine (host). Les containers offrent plusieurs bénéfices, à savoir :
❑ L’isolation

❑ la portabilité
❑ l’agilité
❑ L’isolation entre les Dev et les Ops.

Mr. JADLI AISSAM 13


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Linux Containers (LXC)


LXC est une interface en espace utilisateur pour les fonctionnalités des conteneurs intégrée
directement dans le noyau Linux. Grâce à une API puissante et à des outils simples, il
permet aux utilisateurs Linux de créer et de gérer facilement des conteneurs système ou
d'application.

Mr. JADLI AISSAM 14


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Présentation de Docker
Wikipédia définit Docker comme suivant :

un projet open-source qui automatise le déploiement d'applications logicielles à l'intérieur


de conteneurs en fournissant une couche supplémentaire d'abstraction et d'automatisation
de la virtualisation au niveau du système d' exploitation sur Linux.

En termes plus simples, Docker est un outil qui permet aux développeurs, administrateurs système,
etc. de déployer facilement leurs applications dans des conteneurs pour s'exécuter sur le système
d'exploitation hôte.
« Build, Ship, and Run Any App, Anywhere »

Mr. JADLI AISSAM 15


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Popularité
La version 1.0 de Docker fut lancée en juin 2014, dans le but de faciliter l’utilisation des containers.
Très rapidement, la plateforme a rencontré un franc succès auprès des géants comme Oracle,
Amazon et Microsoft l’ont adopté, au même titre que presque toutes les entreprises du Cloud.

Aujourd’hui, selon les créateurs de Docker,


plus de 3,5 millions d’applications ont été
containerisées en utilisant cette technologie.
L’on compte pas moins de 37 milliards
d’applications containerisées téléchargées.

Mr. JADLI AISSAM 16


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Architecture

Mr. JADLI AISSAM 17


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Architecture
L'architecture de Docker est divisée en trois parties :
❖ Host : contient le Daemon (processus) de Docker. C'est via celui-ci que nous allons pouvoir gérer les
conteneurs/images

❖ Client : C’est une application en lignes de commande qui va permettre la communication entre
l'utilisateur et le daemon présent dans le Host

❖ Registry : est un serveur permettant l'envoi, le stockage, et la récupération des images Docker
stockées dans un registre privé. Nous y trouvons aussi le Docker hub, qui met à disposition des images
prêtes à l'emploi, qu'elles soient vierges ou pour une utilisation spécifique dans un registre public.

Mr. JADLI AISSAM 18


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Alternatives
Docker est de loin la plateforme de conteneurs la plus connue et la plus utilisée. Mais il existe
d'autres technologies dans le paysage des conteneurs, chacune avec ses propres approches et cas
d'utilisation.

LXC et LXD
runC

CoreOS Rocket (rkt)


OpenVZ

Mr. JADLI AISSAM 19


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Environnement de Travail
Pour utiliser Docker sur votre Système :
❑ Télécharger et Installer Docker Desktop (Mac/Windows) sur le site Web Officiel :
[Link]

❑ Télécharger et installer sur Linux en utilisant les guides suivants :


- Ubuntu : [Link]
- CentOS : [Link]

N.B : Les prérequis suivants sont requis pour exécution sur Windows 10 :
✔ Windows 10 64-bit: Pro, Enterprise, or Education (Build 15063 or later).
✔ Hyper-V et la fonctionnalité des conteneurs Windows doit être activée.

Mr. JADLI AISSAM 20


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Environnement de Travail
Pour consulter la version installée de Docker,
utilisez la commande :
docker --version

Pour tester le Fonctionnement de l’installation


Docker, lancez l’image hello-world en utilisant
la commande :
docker run hello-world

Mr. JADLI AISSAM 21


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Environnement de Travail
Pour consulter les images Docker disponibles en local, utilisez la commande :
docker image ls

Pour consulter les conteneurs Docker crées, utilisez la commande :


docker ps --all

Mr. JADLI AISSAM 22


TRAVAUX PRATIQUES
Mr. JADLI AISSAM 23
Introduction Conteneurisation Présentation Docker Images et Conteneurs

Commandes Docker
❑ Effacer un conteneur : docker rm [containerID]

❑ Effacer une Image: docker rmi [ImageID]

❑ Redémarrer un conteneur : docker restart [containerID]

❑ Envoyer des signaux à un conteneur : docker kill [containerID]

❑ Afficher les conteneurs actifs : docker ps

❑ Afficher les conteneurs en tâche de fond : docker ps -a

❑ Créer une image docker à partir d’un Dockerfile : docker build

Mr. JADLI AISSAM 24


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Image Docker
Une image Docker comprend les éléments nécessaires pour exécuter une

application en tant que conteneur - tels que le code, les fichiers de

configuration, les variables d'environnement, les bibliothèques et le

temps d'exécution. Si l'image est déployée dans un environnement

Docker, elle peut ensuite être exécutée en tant que conteneur Docker. La

commande docker run créera un conteneur à partir d'une image donnée.

Mr. JADLI AISSAM 25


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Image Docker

Mr. JADLI AISSAM 26


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Image Docker

Mr. JADLI AISSAM 27


Introduction Conteneurisation Présentation Docker Images et Conteneurs

Image Docker
Une image Docker est composée de plusieurs couches. Un utilisateur compose chaque image Docker

pour inclure des bibliothèques système, des outils et d'autres fichiers et dépendances pour le code

exécutable. Les développeurs d'images peuvent

réutiliser des couches d'images statiques pour

différents projets. La réutilisation fait gagner

du temps, car un utilisateur n'a pas à tout

créer dans une image.

Mr. JADLI AISSAM 28


Introduction Conteneurisation Présentation Docker Images et Conteneurs

La commande [ docker image ]


❑ docker image build : crée une image à partir d'un Dockerfile.

❑ docker image inspect : affiche des informations sur une ou plusieurs images.

❑ docker image load : charge une image à partir d'une archive tar

❑ docker image prune : supprime les images inutilisées.

❑ docker image pull : extrait une image ou un référentiel d'un registre.

❑ docker image push : pousse une image ou un référentiel vers un registre.

❑ docker image rm : supprime une ou plusieurs images.

❑ docker image save : enregistre une ou plusieurs images dans une archive tar
Mr. JADLI AISSAM 29
Introduction Conteneurisation Présentation Docker Images et Conteneurs

La commande [ docker image ]


Exemples
❖ docker images build
mkdir test && cd test
echo FROM debian:jessie > Dockerfile
docker build -t docker-test .
❖ docker images inspect 1d622ef86b13
❖ docker images prune
❖ docker images rm 6ab49

Mr. JADLI AISSAM 30


Introduction Conteneurisation Présentation Docker Images et Conteneurs

La commande [ docker container]


❑ docker container attach : Attache le terminal local à un conteneur en cours d'exécution

❑ docker container exec : Exécuter une commande dans un conteneur en cours d'exécution

❑ docker container export : Exporte le système de fichiers d'un conteneur en tant qu'archive tar

❑ docker container prune : supprime les conteneurs inutilisées.

❑ docker container start : Démarrer un ou plusieurs conteneurs arrêtés.

❑ docker container ls : Liste des conteneurs

❑ docker container port : Liste les mappages de ports ou un mappage spécifique pour le conteneur

❑ docker container run : Exécuter une commande dans un nouveau conteneur


Mr. JADLI AISSAM 31
Introduction Conteneurisation Présentation Docker Images et Conteneurs

La commande [ docker container]


Exemples
❖ docker container ls –a
Résultat : [ Affiche la liste des conteneurs]
❖ docker container run -d -p 8089:80 nginx
Résultat : [ 0792d4835201 ]
❖ docker container exec -it 0792d4835201 bash
Résultat : [ root@0792d4835201:/# ]
❖ docker container port 0792d4835201
Résultat : [ 80/tcp -> [Link]:8089 ]

Mr. JADLI AISSAM 32


Introduction Conteneurisation Présentation Docker Images et Conteneurs

La Commande [ docker run ]


❑ Rôle : Démarrer un conteneur
❑ Syntaxe : docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
▪ -i Garder STDIN ouvert, même si pas attaché
▪ -t Allouer un pseudo-terminal
▪ -p Permet de publier un conteneur, et accessible via une translation de port depuis le
serveur.
▪ -d Active le mode daemon. Le conteneur sera actif et en tâche de fond
▪ --name Pour identifier un conteneur par un nom au lieu d’un ID
▪ --dns Pour définir un DNS personnalisé
▪ --net="" Pour définir le mode réseau entre “Bridge”, “none”, “container:” et “host”
▪ --add-host Modifie le contenu du fichier “hosts” en y ajoutant les valeurs spécifié
▪ -v Permet de lier un dossier sur le serveur au conteneur
Mr. JADLI AISSAM 33
Introduction Conteneurisation Présentation Docker Images et Conteneurs

Commandes Docker
Exemples

❖ docker run -i -t ubuntu:latest bash

❖ docker run -i -t -p 8080:80 ubuntu:latest /bin/bash

❖ docker run -d -p 2222:22 -e ROOT_PASS="mypass" tutum/ubuntu:trusty bash

Mr. JADLI AISSAM 34


TRAVAUX PRATIQUES
Mr. JADLI AISSAM 35

Vous aimerez peut-être aussi