SlideShare une entreprise Scribd logo
DOCKER
Réalisée par:
Amel Taouali
Ela Rebai
Chaima Chaieb
CLOUD COMPUTING
2024-2025
PLAN DU COURS
Problématique
Docker Images et Conteneurs
Gestion des Conteneurs
Dockerfile
Volumes et Persistance des Données
Docker Compose
Publication d'Images sur Docker Hub
Qu'est-ce que Docker ?
Conteneurs vs Machines Virtuelles
Origine de Docker
PROBLÉMATIQUE
La problématique principale avec Docker
est que, lorsqu'un développeur crée un
projet et tente de l'exécuter sur une autre
machine, il peut rencontrer des erreurs.
Ces erreurs surviennent généralement en
raison de différences dans les
environnements d'exécution entre les
machines.
DÉFINITION
Docker est un outil de conteneurisation
permettant de regrouper une application
et ses dépendances dans un
environnement isolé.
ORIGINE DE DOCKER
Docker est basé sur des
technologies de
conteneurisation Linux (LXC) et
qu'il a été développé par
DotCloud (devenue Docker
Inc.).
CONTENEURS VS MACHINES VIRTUELLES
FONCTIONNALITÉ
La fonctionnalité
principale de Docker est
la création et la gestion
des conteneurs.
AVANTAGES D’UTILISATION DOCKER
Isolation des applications : Docker permet
d'exécuter plusieurs applications en parallèle sans
conflits de dépendances.
Portabilité : Les conteneurs Docker peuvent être
exécutés sur n'importe quel système compatible,
garantissant une exécution cohérente partout.
Déploiement simplifié : Docker facilite le
déploiement d'applications .
Légèreté : Les conteneurs partagent le noyau du
système d'exploitation de l'hôte, ce qui les rend
beaucoup plus légers que les machines virtuelles.
Cela permet de démarrer des conteneurs
rapidement et d'utiliser moins de ressources.
IMAGES
DOCKER
Une image est un modèle
en lecture seule utilisé
pour créer des
conteneurs.
docker pull nginx
Cette commande télécharge l'image
officielle Nginx depuis Docker Hub.
EXEMPLE DE COMMANDE
DOCKER presentation for clouf computing.
DOCKER presentation for clouf computing.
CONTENEURS
DOCKER
Les conteneurs sont
des instances
exécutables d'images.
Ils sont légers,
portables et isolés.
docker run nginx
Cette commande exécute un conteneur
basé sur l'image Nginx.
EXEMPLE DE COMMANDE
DOCKER presentation for clouf computing.
DOCKER presentation for clouf computing.
DOCKER
HUB
Un registre pour stocker et partager des images
Docker.
Il existe des images publiques (par exemple, Nginx)
et des images privées pour des projets spécifiques.
COMMENT TÉLÉCHARGER
UNE IMAGE
docker pull nginx
Cette commande télécharge l'image
Nginx depuis Docker Hub.
docker images
Cette commande affiche les images
disponibles localement.
DOCKER presentation for clouf computing.
GESTION DES CONTENEURS DOCKER
Créer et exécuter un conteneur :
docker run -d -p 8080:80 nginx
Cette commande démarre un conteneur et expose
le port 80 du conteneur sur le port 8080 de l’hôte.
Lister les conteneurs :
docker ps (contient les conteneurs actifs)
docker ps -a (tous les conteneurs, y compris ceux
arrêtés)
Arrêter un conteneur :
docker stop <container_id>
Supprimer un conteneur :
docker rm <container_id>
DOCKER presentation for clouf computing.
DOCKER presentation for clouf computing.
INTRODUCTION
AU DOCKERFILE
Un Dockerfile contient les instructions permettant de construire
une image Docker. Il automatise le processus de création
d’images.
Instructions de base
FROM : Déclare l’image de base.
RUN : Exécute des commandes dans le conteneur.
COPY : Copie des fichiers dans le conteneur.
CMD : Déclare la commande par défaut à exécuter lors du
démarrage du conteneur.
FROM ubuntu
RUN apt-get update && apt-get install -y nginx
COPY ./index.html ./index.php
CMD ["nginx", "-g", "daemon off;"]
EXEMPLE DE DOCKERFILE
Construire une image personnalisée :
docker build -t custom-nginx .
Cette commande construit une image à partir d’un
Dockerfile situé dans le répertoire courant (.) et la tag
avec le nom custom-nginx.
Vérifier la construction :
docker images
Affiche l’image personnalisée nouvellement créée.
Exécuter l’image personnalisée :
docker run -d -p 8080:80 custom-nginx
CRÉER DES IMAGES PERSONNALISÉES
DOCKER presentation for clouf computing.
DOCKER presentation for clouf computing.
DOCKER FLOW
RÉSUMÉ
Les images Docker sont des modèles utilisés
pour créer des conteneurs.
Les conteneurs sont des environnements
isolés où les applications s'exécutent.
Le Dockerfile permet d'automatiser la
création d'images personnalisées.
DOCKER
COMPOSE
un outil puissant qui permet de gérer des
applications complexes composées de plusieurs
conteneurs.
En utilisant un seul fichier de configuration, nous
pouvons orchestrer plusieurs services à la fois.
ORCHESTRATION DES CONTENEURS AVEC
DOCKER COMPOSE
Avec Docker Compose, nous définissons
l’ensemble des conteneurs et services dans un
fichier appelé docker-compose.yml.
Ce fichier utilise un format YAML pour décrire
comment chaque service (conteneur) doit être
configuré, quels ports exposer, quels volumes
monter, et quelles dépendances existent entre les
conteneurs.
DOCKER presentation for clouf computing.
Prenons un exemple d'une
application web qui repose sur une
base de données. Voici un extrait
typique d'un fichier docker-
compose.yml
Cet exemple décrit deux services :
web : un conteneur Nginx
exposé sur le port 8080.
db : un conteneur MySQL avec
une variable d'environnement
définissant le mot de passe du
root.
EXEMPLE:
On peut simplifier le travail avec :
docker-compose up
Cette simple commande permet de démarrer
les deux conteneurs et de les faire fonctionner
ensemble.
EXEMPLE:
VOLUMES ET PERSISTANCE
DES DONNÉE
Par défaut, dans Docker, les conteneurs sont
temporaires. Cela implique qu'en cas d'arrêt ou de
suppression d'un conteneur, toutes les informations
qu'il renferme sont également perdues.
Afin de prévenir cela, Docker met en place un
système appelé volumes, qui permet de stocker les
données sur le disque, même lorsque les conteneurs
sont recréés.
VOLUMES DOCKER : LA SOLUTION RECOMMANDÉE POUR UNE
PERSISTANCE DES DONNÉES FIABLE
Les volumes sont la méthode
recommandée pour stocker des données
persistantes, car ils sont gérés par Docker
et peuvent être partagés entre divers
conteneurs.
Ils offrent aussi la possibilité de séparer
les données de l'infrastructure des
conteneurs, assurant ainsi la disponibilité
des données, même en cas de
redémarrage ou de recréation des
conteneurs.
EXEMPLE:
Voici comment créer un volume et l'utiliser dans un
conteneur :
docker volume create my_volume
docker run -d --name mysql-container --mount
source=my_volume,target=/var/lib/mysql mysql
Dans cet exemple, nous avons créé un volume appelé
my_volume, qui est monté dans le conteneur MySQL à
l'emplacement où sont stockées les données de la base
de données.
PUBLICATION D'IMAGES SUR DOCKER HUB VIA
AWS ELASTIC CONTAINER REGISTRY (ECR)
commonçons d’aprd avec le Processus de Création d'un
Conteneur (Workflow Local avec Docker)
LE PROCESSUS DE CRÉATION D'UN CONTENEUR (WORKFLOW
LOCAL AVEC DOCKER)
1.Coder votre application
2.Écrire des Dockerfiles
3.Créer des images Docker
4.Définir les services (optionnel)
5.Exécuter les conteneurs
6.Tester l'application ou les microservices
7.Pousser ou continuer à développer :
Si les tests sont concluants, vous poussez l’image
Docker vers un registre comme Docker Hub ou AWS
ECR pour une utilisation en production.
ÉTAPES POUR PUBLIER SUR ECR VIA AWS :
La plateforme Docker Hub est l'une des plus utilisées pour
partager des images Docker. Toutefois, sur AWS, il est
également possible d'utiliser Amazon Elastic Container
Registry (ECR), un service entièrement géré qui simplifie le
stockage, le partage et le déploiement d'images Docker
dans des environnements sécurisés.
ÉTAPES POUR PUBLIER SUR ECR VIA AWS :
Après avoir validé votre image Docker localement, vous pouvez la
publier sur ‘AWS ECR’ en suivant ces étapes :
1.Authentification avec AWS CLI
Utilisez la commande suivante pour vous authentifier à AWS :
aws ecr get-login-password --region us-east-1 | docker
login --username AWS --password-stdin
<aws_account_id>.dkr.ecr.us-east-1.amazonaws.com
1.Tagger l'image Docker
Assignez un tag à votre image pour la préparer à être poussée
vers le registre ECR :
docker tag my_image:latest
<aws_account_id>.dkr.ecr.useastamazonaws.com/my_im
age:latest
3. Pousser l'image vers ECR
Envoyez votre image vers le registre AWS ECR :
docker push <aws_account_id>.dkr.ecr.us-east-
1.amazonaws.com/my_image:latest
4. Déployer dans AWS
Une fois l’image sur ECR, vous pouvez l’utiliser pour déployer
votre application dans des servicestels que Amazon ECS(Elastic
Container Service) ou Amazon EKS (Elastic Kubernetes Service),
facilitant ainsi la gestion et l'orchestration de vos conteneurs
dans un environnement cloud sécurisé.
ÉTAPES POUR PUBLIER SUR ECR VIA AWS :
PROCESS DE CRÉATION D’UN CONATINER :
Docker Compose simplifie l'orchestration des applications multi-
conteneurs en utilisant un fichier de configuration unique. En
parallèle, les volumes permettent de gérer efficacement la
persistance des données. Enfin, grâce à des services comme AWS
Elastic Container Registry, vous pouvez partager vos images
Docker dans des environnements sécurisés et flexibles, adaptés à
une échelle industrielle.
CONCLUSION :
DOCKER presentation for clouf computing.

Contenu connexe

PDF
Docker, mais qu’est-ce que c’est ?
Julien Maitrehenry
 
PDF
Docker, ça mange quoi au printemps
Julien Maitrehenry
 
PDF
Julien Maitrehenry - Docker, ça mange quoi au printemps
Web à Québec
 
PDF
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvc
hichamelhirch
 
PDF
docker-workshop-by-rbk.pdf jhuhiuguigugyug
amine17157
 
PDF
Intro docker
Fedir RYKHTIK
 
PPTX
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
AZUG FR
 
PDF
Midi technique - présentation docker
Olivier Eeckhoutte
 
Docker, mais qu’est-ce que c’est ?
Julien Maitrehenry
 
Docker, ça mange quoi au printemps
Julien Maitrehenry
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Web à Québec
 
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvc
hichamelhirch
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
amine17157
 
Intro docker
Fedir RYKHTIK
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
AZUG FR
 
Midi technique - présentation docker
Olivier Eeckhoutte
 

Similaire à DOCKER presentation for clouf computing. (20)

PPTX
Docker - YaJUG
Nicolas Muller
 
PDF
Docker - un outil pour faciliter le développement et le déploiement informatique
sdenier
 
PDF
rapportSAArapportrapport_tp3rapport_tp3rapport_tp3rapport_tp3rapport_tp3_tp3r...
PLAYAFIFI
 
PDF
Tadx - Présentation Conteneurisation
TADx
 
PPTX
mini projet linux docker hadoop technologie
moetazbenameur3
 
PPTX
Docker & Azure
Matthieu Klotz
 
PDF
docker.pdf
Jaouad Assabbour
 
PPTX
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
adri1s
 
PDF
Geek Time Mars 2017 : Workshop Docker
Nizar GARRACHE
 
PDF
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide
 
PDF
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Ludovic Piot
 
PPTX
Intro to docker
Abderrahmane Mechri
 
PDF
Docker Tours Meetup #1 - Introduction à Docker
Thibaut Marmin
 
PPTX
A la découverte de docker, 2ème partie
Samuel Desseaux
 
PPTX
Prise en main de Docker
BakeliMarketingTeam
 
PPTX
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
AbdellahELMAMOUN
 
PDF
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Silicon Comté
 
PDF
Distribuer une application avec Symfony & Docker *
Thierry M.
 
PPTX
New Microsoft PowerPoint Presentation.pptx
SafoineGabtni
 
Docker - YaJUG
Nicolas Muller
 
Docker - un outil pour faciliter le développement et le déploiement informatique
sdenier
 
rapportSAArapportrapport_tp3rapport_tp3rapport_tp3rapport_tp3rapport_tp3_tp3r...
PLAYAFIFI
 
Tadx - Présentation Conteneurisation
TADx
 
mini projet linux docker hadoop technologie
moetazbenameur3
 
Docker & Azure
Matthieu Klotz
 
docker.pdf
Jaouad Assabbour
 
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
adri1s
 
Geek Time Mars 2017 : Workshop Docker
Nizar GARRACHE
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Ludovic Piot
 
Intro to docker
Abderrahmane Mechri
 
Docker Tours Meetup #1 - Introduction à Docker
Thibaut Marmin
 
A la découverte de docker, 2ème partie
Samuel Desseaux
 
Prise en main de Docker
BakeliMarketingTeam
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
AbdellahELMAMOUN
 
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Silicon Comté
 
Distribuer une application avec Symfony & Docker *
Thierry M.
 
New Microsoft PowerPoint Presentation.pptx
SafoineGabtni
 
Publicité

DOCKER presentation for clouf computing.

  • 1. DOCKER Réalisée par: Amel Taouali Ela Rebai Chaima Chaieb CLOUD COMPUTING 2024-2025
  • 2. PLAN DU COURS Problématique Docker Images et Conteneurs Gestion des Conteneurs Dockerfile Volumes et Persistance des Données Docker Compose Publication d'Images sur Docker Hub Qu'est-ce que Docker ? Conteneurs vs Machines Virtuelles Origine de Docker
  • 3. PROBLÉMATIQUE La problématique principale avec Docker est que, lorsqu'un développeur crée un projet et tente de l'exécuter sur une autre machine, il peut rencontrer des erreurs. Ces erreurs surviennent généralement en raison de différences dans les environnements d'exécution entre les machines.
  • 4. DÉFINITION Docker est un outil de conteneurisation permettant de regrouper une application et ses dépendances dans un environnement isolé.
  • 5. ORIGINE DE DOCKER Docker est basé sur des technologies de conteneurisation Linux (LXC) et qu'il a été développé par DotCloud (devenue Docker Inc.).
  • 7. FONCTIONNALITÉ La fonctionnalité principale de Docker est la création et la gestion des conteneurs.
  • 8. AVANTAGES D’UTILISATION DOCKER Isolation des applications : Docker permet d'exécuter plusieurs applications en parallèle sans conflits de dépendances. Portabilité : Les conteneurs Docker peuvent être exécutés sur n'importe quel système compatible, garantissant une exécution cohérente partout.
  • 9. Déploiement simplifié : Docker facilite le déploiement d'applications . Légèreté : Les conteneurs partagent le noyau du système d'exploitation de l'hôte, ce qui les rend beaucoup plus légers que les machines virtuelles. Cela permet de démarrer des conteneurs rapidement et d'utiliser moins de ressources.
  • 10. IMAGES DOCKER Une image est un modèle en lecture seule utilisé pour créer des conteneurs.
  • 11. docker pull nginx Cette commande télécharge l'image officielle Nginx depuis Docker Hub. EXEMPLE DE COMMANDE
  • 14. CONTENEURS DOCKER Les conteneurs sont des instances exécutables d'images. Ils sont légers, portables et isolés.
  • 15. docker run nginx Cette commande exécute un conteneur basé sur l'image Nginx. EXEMPLE DE COMMANDE
  • 18. DOCKER HUB Un registre pour stocker et partager des images Docker. Il existe des images publiques (par exemple, Nginx) et des images privées pour des projets spécifiques.
  • 19. COMMENT TÉLÉCHARGER UNE IMAGE docker pull nginx Cette commande télécharge l'image Nginx depuis Docker Hub. docker images Cette commande affiche les images disponibles localement.
  • 21. GESTION DES CONTENEURS DOCKER Créer et exécuter un conteneur : docker run -d -p 8080:80 nginx Cette commande démarre un conteneur et expose le port 80 du conteneur sur le port 8080 de l’hôte. Lister les conteneurs : docker ps (contient les conteneurs actifs) docker ps -a (tous les conteneurs, y compris ceux arrêtés) Arrêter un conteneur : docker stop <container_id> Supprimer un conteneur : docker rm <container_id>
  • 24. INTRODUCTION AU DOCKERFILE Un Dockerfile contient les instructions permettant de construire une image Docker. Il automatise le processus de création d’images. Instructions de base FROM : Déclare l’image de base. RUN : Exécute des commandes dans le conteneur. COPY : Copie des fichiers dans le conteneur. CMD : Déclare la commande par défaut à exécuter lors du démarrage du conteneur.
  • 25. FROM ubuntu RUN apt-get update && apt-get install -y nginx COPY ./index.html ./index.php CMD ["nginx", "-g", "daemon off;"] EXEMPLE DE DOCKERFILE
  • 26. Construire une image personnalisée : docker build -t custom-nginx . Cette commande construit une image à partir d’un Dockerfile situé dans le répertoire courant (.) et la tag avec le nom custom-nginx. Vérifier la construction : docker images Affiche l’image personnalisée nouvellement créée. Exécuter l’image personnalisée : docker run -d -p 8080:80 custom-nginx CRÉER DES IMAGES PERSONNALISÉES
  • 30. RÉSUMÉ Les images Docker sont des modèles utilisés pour créer des conteneurs. Les conteneurs sont des environnements isolés où les applications s'exécutent. Le Dockerfile permet d'automatiser la création d'images personnalisées.
  • 31. DOCKER COMPOSE un outil puissant qui permet de gérer des applications complexes composées de plusieurs conteneurs. En utilisant un seul fichier de configuration, nous pouvons orchestrer plusieurs services à la fois.
  • 32. ORCHESTRATION DES CONTENEURS AVEC DOCKER COMPOSE Avec Docker Compose, nous définissons l’ensemble des conteneurs et services dans un fichier appelé docker-compose.yml. Ce fichier utilise un format YAML pour décrire comment chaque service (conteneur) doit être configuré, quels ports exposer, quels volumes monter, et quelles dépendances existent entre les conteneurs.
  • 34. Prenons un exemple d'une application web qui repose sur une base de données. Voici un extrait typique d'un fichier docker- compose.yml Cet exemple décrit deux services : web : un conteneur Nginx exposé sur le port 8080. db : un conteneur MySQL avec une variable d'environnement définissant le mot de passe du root. EXEMPLE:
  • 35. On peut simplifier le travail avec : docker-compose up Cette simple commande permet de démarrer les deux conteneurs et de les faire fonctionner ensemble. EXEMPLE:
  • 36. VOLUMES ET PERSISTANCE DES DONNÉE Par défaut, dans Docker, les conteneurs sont temporaires. Cela implique qu'en cas d'arrêt ou de suppression d'un conteneur, toutes les informations qu'il renferme sont également perdues. Afin de prévenir cela, Docker met en place un système appelé volumes, qui permet de stocker les données sur le disque, même lorsque les conteneurs sont recréés.
  • 37. VOLUMES DOCKER : LA SOLUTION RECOMMANDÉE POUR UNE PERSISTANCE DES DONNÉES FIABLE Les volumes sont la méthode recommandée pour stocker des données persistantes, car ils sont gérés par Docker et peuvent être partagés entre divers conteneurs. Ils offrent aussi la possibilité de séparer les données de l'infrastructure des conteneurs, assurant ainsi la disponibilité des données, même en cas de redémarrage ou de recréation des conteneurs.
  • 38. EXEMPLE: Voici comment créer un volume et l'utiliser dans un conteneur : docker volume create my_volume docker run -d --name mysql-container --mount source=my_volume,target=/var/lib/mysql mysql Dans cet exemple, nous avons créé un volume appelé my_volume, qui est monté dans le conteneur MySQL à l'emplacement où sont stockées les données de la base de données.
  • 39. PUBLICATION D'IMAGES SUR DOCKER HUB VIA AWS ELASTIC CONTAINER REGISTRY (ECR) commonçons d’aprd avec le Processus de Création d'un Conteneur (Workflow Local avec Docker)
  • 40. LE PROCESSUS DE CRÉATION D'UN CONTENEUR (WORKFLOW LOCAL AVEC DOCKER) 1.Coder votre application 2.Écrire des Dockerfiles 3.Créer des images Docker 4.Définir les services (optionnel) 5.Exécuter les conteneurs 6.Tester l'application ou les microservices 7.Pousser ou continuer à développer : Si les tests sont concluants, vous poussez l’image Docker vers un registre comme Docker Hub ou AWS ECR pour une utilisation en production.
  • 41. ÉTAPES POUR PUBLIER SUR ECR VIA AWS : La plateforme Docker Hub est l'une des plus utilisées pour partager des images Docker. Toutefois, sur AWS, il est également possible d'utiliser Amazon Elastic Container Registry (ECR), un service entièrement géré qui simplifie le stockage, le partage et le déploiement d'images Docker dans des environnements sécurisés.
  • 42. ÉTAPES POUR PUBLIER SUR ECR VIA AWS : Après avoir validé votre image Docker localement, vous pouvez la publier sur ‘AWS ECR’ en suivant ces étapes : 1.Authentification avec AWS CLI Utilisez la commande suivante pour vous authentifier à AWS : aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.us-east-1.amazonaws.com 1.Tagger l'image Docker Assignez un tag à votre image pour la préparer à être poussée vers le registre ECR : docker tag my_image:latest <aws_account_id>.dkr.ecr.useastamazonaws.com/my_im age:latest
  • 43. 3. Pousser l'image vers ECR Envoyez votre image vers le registre AWS ECR : docker push <aws_account_id>.dkr.ecr.us-east- 1.amazonaws.com/my_image:latest 4. Déployer dans AWS Une fois l’image sur ECR, vous pouvez l’utiliser pour déployer votre application dans des servicestels que Amazon ECS(Elastic Container Service) ou Amazon EKS (Elastic Kubernetes Service), facilitant ainsi la gestion et l'orchestration de vos conteneurs dans un environnement cloud sécurisé. ÉTAPES POUR PUBLIER SUR ECR VIA AWS :
  • 44. PROCESS DE CRÉATION D’UN CONATINER :
  • 45. Docker Compose simplifie l'orchestration des applications multi- conteneurs en utilisant un fichier de configuration unique. En parallèle, les volumes permettent de gérer efficacement la persistance des données. Enfin, grâce à des services comme AWS Elastic Container Registry, vous pouvez partager vos images Docker dans des environnements sécurisés et flexibles, adaptés à une échelle industrielle. CONCLUSION :