0% ont trouvé ce document utile (0 vote)
15 vues8 pages

CH2 Docker

Docker est une plateforme de conteneurisation open-source qui facilite le déploiement d'applications en utilisant des conteneurs légers et efficaces. Les concepts clés incluent les images Docker, qui sont des modèles pour les conteneurs, et Docker Hub, un service pour stocker et partager ces images. Le document explique également comment installer Docker, exécuter des conteneurs et créer des images personnalisées à l'aide de Dockerfile.

Transféré par

Anonymous rQyZjgRM
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)
15 vues8 pages

CH2 Docker

Docker est une plateforme de conteneurisation open-source qui facilite le déploiement d'applications en utilisant des conteneurs légers et efficaces. Les concepts clés incluent les images Docker, qui sont des modèles pour les conteneurs, et Docker Hub, un service pour stocker et partager ces images. Le document explique également comment installer Docker, exécuter des conteneurs et créer des images personnalisées à l'aide de Dockerfile.

Transféré par

Anonymous rQyZjgRM
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

CH2 : Concepts de base de Docker

Qu'est-ce que Docker ?


Docker est une plateforme de conteneurisation open-source qui simplifie le déploiement
d'applications en empaquetant les logiciels et leurs dépendances dans une unité standardisée
appelée conteneur. Contrairement aux machines virtuelles traditionnelles, les conteneurs
Docker partagent le noyau du système d'exploitation hôte, ce qui les rend plus efficaces et plus
légers.

Les conteneurs garantissent qu'une application fonctionne de la même manière dans les
environnements de développement, de test et de production. Cela permet de réduire les
problèmes de compatibilité et d'améliorer la portabilité sur différentes plateformes. En raison
de sa flexibilité et de son évolutivité, Docker est devenu un outil crucial dans les flux de travail
modernes de DevOps et de développement cloud-native.

Maintenant que vous avez installé Docker, vous êtes peut-être impatient de vous lancer et de
commencer à exécuter des conteneurs. Mais avant cela, il est important de comprendre
quelques concepts clés qui sont à la base du travail de Docker. Ces concepts vous aideront à
naviguer plus efficacement dans Docker et à éviter les pièges les plus courants pour les
débutants.

Au cœur de Docker se trouvent les imagesqui servent de modèles pour les conteneurs ; les
conteneursqui sont les instances en cours d'exécution de ces images ; et le Docker Hubun
référentiel centralisé pour le partage et la gestion des images.

Examinons chacun de ces concepts plus en détail.

Images Docker
Les images Docker sont les éléments fondamentaux des conteneurs. Il s'agit de modèles
immuables, en lecture seule, contenant tout ce qui est nécessaire à l'exécution d'une

PROF :MR. WALID BEN HARRAT-3EME LIRS 1


application, y compris le système d'exploitation, le code de l'application, la durée d'exécution
et les dépendances.

Les images sont construites à l'aide d'un site Dockerfile, qui définit les instructions de
création d'une image couche par couche.

Les images peuvent être stockées et récupérées dans des registres de conteneurs tels que
Docker Hub.

Voici quelques exemples de commandes pour travailler avec des images :

 docker pull nginx: Récupérez la dernière image de Nginx depuis Docker Hub.
 docker images: Liste toutes les images disponibles sur la machine locale.
 docker rmi nginx: Supprimez une image de la machine locale.

Conteneurs Docker
Un conteneur Docker est une instance en cours d'exécution d'une image Docker. Les
conteneurs fournissent un environnement d'exécution isolé dans lequel les applications
peuvent fonctionner sans interférer les unes avec les autres ou avec le système hôte. Chaque
conteneur possède son propre système de fichiers, son propre réseau et son propre espace de
processus, mais partage le noyau hôte.

Les conteneurs suivent un cycle de vie simple comprenant la création, le démarrage, l'arrêt et
la suppression. Voici un aperçu des commandes de gestion de conteneurs les plus courantes :

1. Création d'un conteneur : docker create ou docker run

2. Démarrage d'un conteneur : docker start

3. Arrêt d'un conteneur : docker stop

4. Redémarrage d'un conteneur : docker restart

5. Suppression d'un conteneur : docker rm

Prenons un exemple concret. La commande suivante exécute un conteneur Nginx en mode


détaché (en arrière-plan), en faisant correspondre le port 80 à l'intérieur du conteneur au port
8080 sur la machine hôte :

docker run -d -p 8080:80 nginx

ette commande lance un conteneur Docker utilisant l'image nginx. Voici le détail de la commande : -
docker run : Cette commande est utilisée pour créer et démarrer un nouveau conteneur à partir d'une
image spécifiée. - -d : Ce drapeau fait fonctionner le conteneur en mode détaché, ce qui signifie qu'il
fonctionne en arrière-plan. - -p 8080:80 : Cette option permet de faire correspondre le port 8080 de
votre machine hôte au port 80 du conteneur. Le port 80 est le port par défaut pour le trafic HTTP dans le
serveur nginx. - nginx : Ceci spécifie l'image Docker à utiliser, qui est l'image officielle du serveur web
nginx. Le code vise à démarrer un serveur web nginx dans un conteneur Docker, accessible via
http://localhost:8080 sur votre machine hôte.

PROF :MR. WALID BEN HARRAT-3EME LIRS 2


Après avoir exécuté cette commande, Docker récupère l'image de Nginx (si elle n'est pas déjà
disponible), crée un conteneur et le démarre.

Pour vérifier tous les conteneurs en cours d'exécution et arrêtés :

docker ps -a

L'extrait de code docker ps -a est une commande utilisée dans Docker, une plateforme de
développement, d'expédition et d'exécution d'applications dans des conteneurs. - docker : C'est l'interface
de ligne de commande pour interagir avec Docker. - ps : Cette sous-commande liste les conteneurs. - -a :
Ce drapeau affiche tous les conteneurs, et pas seulement les conteneurs en cours d'exécution. Il comprend
également les conteneurs arrêtés. La commande vise à afficher une liste de tous les conteneurs Docker sur
votre système, en fournissant des détails tels que les ID des conteneurs, les noms, les statuts, et plus encore.

Installer Docker sur Linux (Ubuntu)

1. Mettez à jour les listes de paquets : sudo apt update

2. Installez les dépendances : sudo apt install apt-transport-https ca-


certificates curl software-properties-common

3. Ajoutez la clé GPG officielle de Docker : curl -fsSL


https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4. Ajoutez le dépôt de Docker : sudo add-apt-repository "deb [arch=amd64]


https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5. Installez Docker : sudo apt install docker-ce

6. Vérifiez l'installation : docker –version

Hub Docker
Docker Hub est un service de registre basé sur le cloud qui permet de trouver, de stocker et
de distribuer des images de conteneurs. Les utilisateurs peuvent envoyer des images
personnalisées à Docker Hub et les partager publiquement ou en privé.

Voici quelques commandes pour interagir avec Docker Hub :

 docker login: Authentifiez-vous avec Docker Hub.


 docker push my-image: Téléchargez une image personnalisée sur Docker Hub.
 docker search ubuntu: Recherchez des images officielles et communautaires.
 docker pull ubuntu: Téléchargez une image Ubuntu depuis Docker Hub.
Vous êtes novice en matière de conteneurisation ? Obtenez une base solide avec le
cours Containerization and Virtualization Concepts (Concepts de conteneurisation et de
virtualisation ).

PROF :MR. WALID BEN HARRAT-3EME LIRS 3


Exécuter votre premier conteneur Docker
Maintenant que nous avons abordé les concepts fondamentaux de Docker, il est temps de les
mettre en pratique ! Commençons par lancer notre premier conteneur pour nous assurer que
Docker est installé correctement et qu'il fonctionne comme prévu.

Pour tester votre installation Docker, ouvrez PowerShell (Windows) ou Terminal (Mac et
Linux) et exécutez :

docker run hello-world

POWERED BY

Cela permet d'extraire l'image hello-world de DockerHub et de l'exécuter dans un


conteneur.

Exemple d'image Docker hello-world

Maintenant, allons plus loin et exécutons une application réelle, un serveur web Nginx.
Exécutez la commande suivante :

docker run -d -p 8080:80 nginx

POWERED BY

La commande ci-dessus permet d'effectuer les opérations suivantes :

 L'option -d permet d'exécuter le conteneur en mode détaché, c'est-à-dire en arrière-


plan.

PROF :MR. WALID BEN HARRAT-3EME LIRS 4


 Le drapeau -p 8080:80 fait correspondre le port 80 à l'intérieur du conteneur au port
8080 sur votre machine locale, ce qui vous permet d'accéder au serveur web.
Une fois la commande exécutée avec succès, ouvrez un navigateur et visitez le site
: http://localhost:8080

Accès au serveur web sur localhost:8080

Vous devriez voir la page d'accueil par défaut de Nginx, confirmant que votre serveur web
fonctionne à l'intérieur d'un conteneur !

Vous verrez également un conteneur s'exécuter dans votre Docker Desktop :

PROF :MR. WALID BEN HARRAT-3EME LIRS 5


Conteneur Nginx fonctionnant sur le port 8080

Construire votre première image Docker


Jusqu'à présent, nous avons exécuté des images préconstruites à partir de Docker Hub. Mais
qu'en est-il si vous avez besoin d'un environnement personnalisé adapté à votre application ?
C'est là que la construction de votre propre image Docker entre en jeu.

La création d'une image Docker implique l'écriture d'un Dockerfile, un script qui automatise
la construction d'une image. Cela garantit la cohérence et la portabilité dans différents
environnements. Une fois l'image construite, elle peut être utilisée comme conteneur pour
exécuter des applications dans un environnement isolé.

Dans cette section, nous allons apprendre les bases de l'écriture d'un fichier Docker, de la
construction d'une image personnalisée et de son exécution en tant que conteneur.

Les bases de Dockerfile


Un Dockerfile est un script contenant une série d'instructions qui définissent comment une
image Docker est construite. Il automatise le processus de création d'images, garantissant
ainsi la cohérence entre les environnements. Chaque instruction dans un site Dockerfile crée
une nouvelle couche dans l'image. Voici la décomposition d'un exemple de fichier Docker
pour une simple application Python Flask :

# Base image containing Python runtime

FROM python:3.9

# Set the working directory inside the container

WORKDIR /app

# Copy the application files from the host to the container

COPY . /app

PROF :MR. WALID BEN HARRAT-3EME LIRS 6


# Install the dependencies listed in requirements.txt

RUN pip install -r requirements.txt

# Define the command to run the Flask app when the container starts

CMD ["python", "app.py"]

Dans la commande ci-dessus :

 -v my-volume:/app/data monte le stockage my-volume dans le


répertoire /app/data à l'intérieur du conteneur.
 Toutes les données stockées sur /app/data seront conservées même si le conteneur
s'arrête ou est supprimé.
Décomposition du fichier Docker ci-dessus :

 FROM python:3.9: Spécifie l'image de base avec Python 3.9 préinstallé.


 WORKDIR /app: Définit /app comme répertoire de travail à l'intérieur du conteneur.
 COPY . /app: Copie tous les fichiers du répertoire courant de l'hôte vers /app dans le
conteneur.
 RUN pip install -r requirements.txt: Installe toutes les dépendances nécessaires
dans le conteneur.
 CMD ["python", "app.py"]: Définit la commande à exécuter au démarrage du
conteneur.

Construction et exécution de l'image


Une fois le fichier Docker défini, vous pouvez construire et exécuter l'image à l'aide des
commandes suivantes :

Étape 1 : Construire l'image


docker build -t my-flask-app .

a commande ci-dessus :

 Utilise le répertoire courant (.) comme contexte de construction.

PROF :MR. WALID BEN HARRAT-3EME LIRS 7


 Lit le site Dockerfile et exécute ses instructions.
 Tags (-t) l'image résultante est my-flask-app.
Étape 2 : Exécutez l'image en tant que conteneur
docker run -d -p 5000:5000 my-flask-app

La commande ci-dessus :

 Exécute le conteneur en mode détaché (-d).


 Le port 5000 à l'intérieur du conteneur est relié au port 5000 de l'hôte ( -p
5000:5000).

Une fois lancée, vous pouvez accéder à l'application Flask en naviguant vers
http://localhost:5000 dans un navigateur.

PROF :MR. WALID BEN HARRAT-3EME LIRS 8

Vous aimerez peut-être aussi