Vous êtes sur la page 1sur 4

Antisèche docker : les bases

 Conteneur : (󾓪 container) c’est comme un plat que tu prépare pour un

Antisèche Docker client. Il inclut tous les ingrédients et la méthode de préparation


nécessaire pour exécuter une application. C ’est une instance en cours
d’exécution d’une image.
Imagine que tu es un cuisto qui prépare des plats pour tes clients.  Docker Compose : c’est comme un livre de cuisine qui décrit comment
Chaque plat a ses propres ingrédients et sa propre méthode de préparer plusieurs plats en même temps en utilisant plusieurs images
préparation. Maintenant, imagine que tu dois préparer plusieurs plats en Docker. Le docker compose se base sur un fichier compose, souvent
même temps pour différents clients. Comment vas-tu t’assurer que les compose.yml , pour lancer une pile logicielle comme, par exemple, un
ingrédients pour chaque plat ne se mélangent pas entre eux ? serveur d’application couplé à une base de donnée.
C'est là que Docker entre en jeu.
 Réseau Docker : le réseau Docker est comme un système de
Docker est un outil qui t’aide à créer, déployer et exécuter des
distribution de nourriture qui connecte les conteneurs entre eux et les
applications dans des conteneurs isolés. Chaque conteneur représente
rend accessibles à d'autres parties du système.
un plat différent avec ses propres ingrédients et sa propre recette pour la
préparation. Cela signifie que tu peux exécuter plusieurs applications en
même temps tout en étant sur quelles n’interagissent pas entre elles.
Nous prendrons comme convention que les commandes entre crochets
[command] sont des valeurs à remplacer et celles entre les signes
Cycle de vie
inférieur et supérieur <command> , des valeurs optionnelles.

Voici quelques termes importants associés à Docker et aux conteneurs : 1. Un Dockerfile est construit (build) pour devenir une de
Image

 Image : c’est comme une recette de cuisine. Elle décrit comment créer 2. Un conteneur est une instance en cours d’exécution lancée
un conteneur en précisant les ingrédients et la méthode de préparation depuis une image
nécessaires. Une image à un nom de type : nom:tag , le tag est un
pointeur vers une version particulière. 3. Un Docker Compose contient des Images à lancer

 Registre d'images : (󾓪 Images registry ou Registry) c’est comme une 4. Un Docker Compose est lancé pour devenir une stack de
bibliothèque culinaire où tu stockes tes recettes. Les images peuvent être Conteneurs
partagées avec d'autres chefs en public, comme sur YouTube ou en privé
dans ta cuisine. Le dockerhub est un registre d’images publiques et privées.
 Dockerfile : c’est comme une liste d'ingrédients pour une recette. Il
décrit comment créer une image Docker.

V 0.0.2 du 3 May 2023 Auteur : Chaudier Christophe


Antisèche docker : les bases

🆘 Au secours ! docker tag [src] [dest]<:tag>

renomme une image locale src avec le nom dest et éventuellement


Toutes les commandes docker possèdent une aide en ligne disponible en le tag. Cette commande permet d’étiqueter une image qui n’avait pas
tapant : de tag .
docker [commande] --help
docker images
affiche l’aide de la commande
affiche la liste de toutes les images locale de ton ordinateur.
docker info

Donne les informations système de Docker (versions, espace docker rmi [nom-image]
consommé, etc...)
supprime l’image local nom-image .

💾 On sauvegarde 🙈 Jouer à cache-cache ?


Tu peux commencer un projet par un Dockerfile.
Si tu veux exclure des fichiers et des chemins temporaires de la
docker build
construction des images, il faut que tu crées un fichier .dockerignore , le
construit une image à partir du ./Dockerfile du répertoire courant. mieux c’est de le mettre à la racine de ton dépôt. Les fichiers et les
docker build <chemin/du/Dockerfile>
chemins listés dans le fichier seront ignorés par le build. Tu peu utiliser
les jokers UNIX.
construit une image à partir du Dockerfile dont le chemin est passé
# comment
en paramètre.
*/temp*
docker build -t [nom-image]<:tag> */*/temp*
temp?
construit et nomme une image nom-image , tu peu aussi l’étiqueté avec
un tag .

V 0.0.2 du 3 May 2023 Auteur : Chaudier Christophe


Antisèche docker : les bases

🔀 Il faut bien partager 🚀 Comment on joue ?


Par défaut le registre est le dockerhub public mais tu peux utiliser Quand on lance une image avec la commande docker run on lance en
n’importe quel registre en t’y connectant. fait une instance de celle-ci que l’on appelle un conteneur.
docker login < -u username> < -p password> [registre] docker run [nom-image]<:tag>

se connecte au registre , si aucun registre n’est spécifié alors le lance l’image nom-image , si l’image n’existe pas en local docker va la
registre par défaut est utilisé. télécharger automatiquement comme avec un docker pull .
docker logout [registre] docker run <option> [nom-image] <cmd>

se déconnecte du registre , si aucun registre n’est spécifié alors le lance l’image nom-image , avec la commande cmd , si la commande
registre par défaut est utilisé. n’est pas précisée alors docker lance la commande par défaut de
docker pull [nom-image]<:tag> l’image.

télécharge l’image nom-image depuis registre connecté, si aucun tag Les options sont le suivantes :
n’est spécifié alors docker prend la dernière version ( latest ). -d  : lance l’image et crée un conteneur en arrière plan
docker push [nom-image]<:tag> -it  :
lance l’image en interactif et s’attache au terminal virtuel
téléverse, on dit pousser , l’image nom-image dans le registre connecté, (pseudo-TTY) du conteneur.
si aucun tag n’est spécifié alors docker prend la dernière version -p 8080:80  : branche le port 80 du conteneur sur le port 8080 du
( latest ). système hôte, attention on ne peut pas partager deux conteneurs sur
le même port hôte.
-v [/chemin/src]:[/chemin/dest]  :monte le répertoire
/chemin/src dans le conteneur sur le répertoire /chemin/dest .
conteneur.
-v $(pwd):/app  : (exemple) monte le répertoire courant dans le
répertoire /app du conteneur.

V 0.0.2 du 3 May 2023 Auteur : Chaudier Christophe


Antisèche docker : les bases

docker run -d [nom-image]

lance l’image nom-image , en arrière plan avec la commande cmd , si la


commande n’est pas précisée alors docker lance la commande par
🐛 Et pour déboguer ?
défaut de l’image. docker logs < --follow> [nom-conteneur]

docker exec < -ti> [nom-conteneur] [cmd] affiche les log du conteneur nom-conteneur . L’option --follow permet
lance la commande cmd dans le conteneur nom-conteneur . de suivre les logs en temps réels.

L’option -ti permet de suivre la commande en temps réel. docker inspect [nom-conteneur]

affiche l’intégralité des informations techniques du conteneur nom-

docker ps conteneur .

affiche la liste des conteneurs en cours d’exécution. docker ps -a

docker stop [nom-conteneur] affiche la liste de tous les conteneurs même ceux arrêtés.

arrête le conteneur nom-conteneur . docker stop $(docker ps -aq)

docker start [nom-conteneur] stoppe tous les conteneurs actifs.


docker rm $(docker ps -aq)
démarre le conteneur nom-conteneur .

docker rm -f [nom-conteneur] stoppe tous les conteneurs stoppés.


docker system prune
force la destruction complète du conteneur nom-conteneur .
Purge les données non utilisées par Docker.

Pour plus de commandes voir la documentation officielle.


Cette antisèche ne peu pas se substitué à une formation. Si tu veux
approfondir ta connaissance de Docker, je te conseille la formation de
Cocadmin.

V 0.0.2 du 3 May 2023 Auteur : Chaudier Christophe

Vous aimerez peut-être aussi