0% ont trouvé ce document utile (0 vote)
34 vues16 pages

Docker Elements

U

Transféré par

rim belabadia
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)
34 vues16 pages

Docker Elements

U

Transféré par

rim belabadia
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

Conteneurisation

Cette photo par Auteur inconnu est soumise à la licence CC BY-SA


Plan
• Conteneurisation avec Docker
• Les images
• Les conteneurs
• Gestion des volumes
• Le réseau
• Orchestration des conteneurs
La conteneurisation
La conteneurisation est définie comme une forme de virtualisation du
système d'exploitation, à travers laquelle les applications sont
exécutées dans des espaces utilisateur isolés appelés conteneurs, tous
utilisant le même système d'exploitation (SE) partagé.
Un conteneur est essentiellement un environnement informatique
entièrement packagé et portable
LXC (LinuX Containers)
Contenur1 Contenur2
App A App B Objectif
Librairies et Librairies/bin
binaires aires Avoir un environnement aussi proche que possible mais sans le
surcoût associé à l'utilisation d'un noyau séparé ou à la simulation
de matériel.
LXC (Contrôleur) Un conteneur n’inclut pas d’OS, les conteneurs accèdent à l’OS
hôte d’une manière isolée les uns des autres
Linux Kernel Un conteneur virtualise l’environnement d’exécution: processeur,
système de fichiers, mémoire et ne virtualise pas la machine

Hardware LXC repose sur deux fonctionnalités du noyau Linux:


- cgroups (control groups):
- les namespaces: qui permettent d’isoler les ressources
de chaque groupe.
Machines virtuelles / Contenur
2013 basé sur LXC à l’origine
• Le service dockerd: gère les requêtes et les objets dockers:
images,conteneurs,volumes, réseaux.
Architecture Docker • Le client (docker): outil pour communiquer avec le service
docker
• Le registry docker : stocke les images
OCI Open Container
Initiative • Définit un standard pour les
conteneurs et leurs
environnements d’exécution
• Le consortium OCI a été
fondé en 2015 par un groupe
d’entreprises pour
développer des standards
ouverts de référence pour
les conteneurs,
indépendants des plates-
formes.
Image Docker
Template pour créer des conteneurs

Image DockerFile
Docker hub

Une image est constituée


d’une collection de layers
(couches)et de
métadonnées Conteneur Conteneur Conteneur
Un layer est un ensemble
de modifications sur des
fichiers.
Conteneur
Exécute une instance d’une image
PULL [NOM_IMAGE]:
TÉLÉCHARGER UNE IMAGE
Commandes
SEARCH [CRITERE]:
de gestion RECHERCHER DES IMAGES
des images
IMAGES: AFFICHER LA
LISTE DES IMAGES LOCALES
Commandes de gestion des conteneurs

run [nom_image]: exécute un


conteneur
-docker rm <container>
-it exécute le conteneur en
mode interactif

ps: liste des conteneurs actifs


dans le système,pour afficher - docker stop <container id>
tous les conteneurs il faut
ajouter l’option –a. -docker pause <container>
-aq liste les UUID des - Docker start <container>
conteneurs
Un volume docker ne dépend pas du cycle de vie d’un conteneur
et peut être partagé par plusieurs conteneurs

Commandes de
gestion des volume create [nom_volume]: crée un volume docker

volumes
run –mount:pour exécuter un conteneur en lui attachant un
volume docker, utiliser les options suivantes
source=[nom_volume],destination=[chemin_dans_conteneur]
[docker_image]
Atelier

docker run -it --name mc1 centos /bin/bash

[root@386ec090afdc /]# hostname


386ec090afdc
[root@386ec090afdc /]# exit
stop le container
docker start mycontainer
docker attach mycontainer
[root@386ec090afdc /]#
ensuite pour le mettre en background
faire Crtl-p Crtl-q
et
docker ps
Pour lancer un container en tâche de fond en ligne de commande faire

docker run -it -d --name mycontainer centos /bin/bash


docker run -d --name mytest ubuntu
/bin/bash -c "while true; do date ; sleep
docker 5;rundone"-d --name mytest ubuntu
/bin/bash# faire les
-ccommandes suivantes
"while true; doet date
vérifier;chaques
sleeprésultats à
5; done" chaque étape
docker
# faire les commandesps suivantes et vérifier chaques résultats à
chaquedocker
étape logs mytest
docker docker
ps pause mytest
docker docker
logs logs mytest
mytest
docker docker
pauseunpause
mytest mytest
docker docker
logs logs mytest
mytest
docker unpause mytest
docker logs mytest
Voir les changements à l'intérieur d’un container
Par rapport à l’image sur le disque
[root@9e02ac8c48be /]#
ls -ld
touch {abc,def,ghi}
ls
ls -ld
ls -alrt
[fedora@ansible ~]$ docker diff 9e02ac8c48be
A /ghi
A /abc
A /def

C dénote un changement , A dénote un ajout , D denote un retrait

la commande diff répertorie les fichiers et répertoires modifiés dans le système de 15

fichiers d'un conteneur depuis sa création.


Les 4 manières de créer une image Docker

docker commit: crée une image à partir d’un container


docker commit c3f279d17e0a test:version3
docker load : command docker load --input < fichier tar créé par un docker
export>
docker load --input [Link]

commandes intermediaires qui creent un fichier de type archive (tar)


docket save : docker pull busybox:latest
docker save -o [Link] busybox:latest
docker export: command docker pour exporter un container
docker export red_panda > [Link]

A Noter: Attention à la différence entre les commandes SAVE et EXPORT

docker import : crée une image en important un fichier tar d’une image 16

KVM qcow2 par exemple cat [Link] | sudo docker

Vous aimerez peut-être aussi