0% ont trouvé ce document utile (0 vote)
2 vues27 pages

Introduction aux conteneurs Docker et LXC

Le document présente une introduction aux conteneurs, en se concentrant sur LXC et Docker, expliquant leurs fonctionnalités et différences. Docker permet d'emballer des applications dans des conteneurs portables, utilisant un système de fichiers en couches et des Dockerfiles pour créer des images. Il fournit également une liste de commandes pour gérer les conteneurs, ainsi que des instructions d'installation pour Debian et RedHat.

Transféré par

ScribdTranslations
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)
2 vues27 pages

Introduction aux conteneurs Docker et LXC

Le document présente une introduction aux conteneurs, en se concentrant sur LXC et Docker, expliquant leurs fonctionnalités et différences. Docker permet d'emballer des applications dans des conteneurs portables, utilisant un système de fichiers en couches et des Dockerfiles pour créer des images. Il fournit également une liste de commandes pour gérer les conteneurs, ainsi que des instructions d'installation pour Debian et RedHat.

Transféré par

ScribdTranslations
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

Qu'est-ce qu'un conteneur ?

Le projet LXC (Linux Container) est né en août 2008.

Au début, le site officiel affichait la phrase suivante : LXC,


chroot avec des stéroïdes. L'objectif du projet était d'être
une alternative à la technologie de chroot déjà consolidée,
étant un compromis entre machine virtuelle et chroot,
permettant la création d'un environnement plus proche
possible d'une installation Linux sans la nécessité de
un noyau séparé.
Certaines des fonctionnalités de LXC
sont
• Kernel Namespaces:
• Apparmor et
SELinux:
• Politiques Seccomp :
• Chroots (pivot_root):
• Capacités du noyau :
• Cgroups :
Qu'est-ce que Docker ?
Tout d'abord, nous devons définir ce qu'est Docker :
Docker n'est pas un système de virtualisation traditionnel.
Mais pourquoi le Docker est-il
si sympa ?
Docker permet l'emballage d'une application ou d'un environnement
entier dans un conteneur, et à partir de ce moment, l'environnement
entier devient portable pour tout autre hôte contenant le
Docker installé.
Comment Docker fait-il cela ?

• Il travaille avec un client et


serveur
Nous pouvons voir sur l'image ci-dessous comment est le Workflow à l'intérieur de Docker.
Comment fonctionne le système de fichiers dans
Docker ?

Le système de fichiers de Docker est appelé en couches, c'est-à-dire que c'est un


système de fichiers en couches, que signifie cela ?
Un système de fichiers commun se compose essentiellement de deux couches :
• bootfs
• système de fichiers racine
Lorsque le système est démarré, il charge le rootfs
tout d'abord en mode lecture seule, vérifie sa
intégrité puis le remonter en tant que lecture/écriture et
ainsi il est disponible pour l'utilisateur/l'application.
como é um sistema tradicional
Comment est le système de fichiers dans

docker
Comme vous pouvez le constater, le bootfs au lieu d'être unique par
système/conteneur, est partagé entre eux, mais le
rootfs est isolé par couches.
Un détail dans cette architecture est qu'à chaque modification
le commit du conteneur génère une nouvelle couche
Rappelons qu'une image peut être utilisée
diverses fois
Qu'est-ce qu'un Dockerfile

Docker has some features that allowed its


popularisation à travers le monde, en plus de l'API d'intégration, le
Docker permite que possamos criar imagens a partir de um
fichier de définition, ce fichier s'appelle Dockerfile.
Une image n'est rien d'autre qu'un environnement totalement
encapsulé et prêt à être reproduit où vous le désirez.
En résumé, le Dockerfile est un fichier texte avec des instructions,
commandes et étapes que vous exécuteriez manuellement,
Fondamentalement, Docker exécute une recette de gâteau.
Avec la commande docker build, Docker réalise ...
exécution de ces étapes et à la fin de l'exécution, il
encapsule chaque couche générée à l'intérieur de l'image.

EXÉCUTER yum update


Où :
EXÉCUTER : C'est l'instruction ;

yum update : Argument qui sera exécuté.


Exemple de Dockerfile complet
# VERSION 0.1
DE ubuntu
EXÉCUTER echo foo > bar
# Saida parecida com ===> 907ad6c2736f
DE ubuntu
EXÉCUTER echo moo > oink
Saida parecida com ===> 695d7793cbe4
EXPOSER 5900
# Vous aurez deux images, 907ad6c2736f avec /bar, et 695d7793cbe4 avec
# /groin.

Basta copiar esse código acima em um arquivo chamado Dockerfile e em seguir executar
la commande :docker build -t minhaimagem .. Et voilà, une image sera créée avec le
nom de mon image, il suffit de l'utiliser pour ce dont vous avez besoin.
Installation de Docker
Debian
Utilisateurs dont le système est basé sur Debian
vous pouvez utiliser apt-get ou aptitude :
sudo apt-get mettre à jour
sudo apt-get install [Link]

Installation de Docker
RedHat
Utilisateurs ayant leur système basé sur RedHat
nous pouvons utiliser yum :

yum installer docker


Dans l'installation par défaut de l'environnement Docker, les
les principales configurations de vos conteneurs restent
em /var/lib/docker ici vous pouvez trouver le .json de
tous vos conteneurs avec leurs respectifs
configurations, dans nos prochains posts nous serons
montrant ce que signifie chaque paramètre et comment
nous pouvons améliorer la performance de notre environnement.
docker attach – Accéder à l'intérieur du conteneur et travailler à partir de celui-ci.
docker build – À partir des instructions d'un fichier Dockerfile, je peux créer une image.
docker commit - Crée une image à partir d'un conteneur.
docker cp – Copia arquivos ou diretórios do container para o host.
docker create – Crée un nouveau conteneur.
docker diff – Affiche les modifications apportées au système de fichiers du conteneur.
docker events – Affiche les événements du conteneur en temps réel.
docker exec – Exécute une instruction à l'intérieur du conteneur en cours d'exécution sans avoir besoin de s'y attacher.
docker export – Exporte un conteneur vers un fichier .tar.
docker history – Affiche l'historique des commandes qui ont été exécutées dans le conteneur.
docker images – Liste les images disponibles sur l'hôte.
docker import – Importe une image .tar sur l'hôte.
docker info – Affiche les informations sur l'hôte.
docker inspect - Affiche le json avec toutes les configurations du conteneur.
docker kill – Da Poweroff aucun conteneur.
docker load – Charge l'image à partir d'un fichier .tar.
docker login – Enregistre ou se connecte à un serveur de registre.
docker logout – Fait le logout d'un serveur de registre.
docker logs - Affiche les journaux d'un conteneur.
docker port – Ouvre un port de l'hôte et du conteneur.
docker pause – Met en pause le conteneur.
docker ps – Liste tous les conteneurs.
docker pull – Fait le tirage d'une image à partir d'un serveur de registre.
docker push – Effectue le push d'une image à partir d'un serveur de registre.
docker rename – Renomme un conteneur existant.
docker restart – Redémarre un conteneur qui est en cours d'exécution ou arrêté.
docker rm – Supprimer un ou plusieurs conteneurs.
docker rmi – Supprimez une ou plusieurs images.
– Exécute une commande dans un nouveau conteneur.
docker exécuter
docker save – Enregistre l'image dans un fichier .tar.
docker search – Recherche une image sur Docker Hub.
docker start – Démarre un conteneur qui est arrêté.
docker stats – Affiche des informations sur l'utilisation du CPU, de la mémoire et du réseau.
docker stop – Pour un conteneur qui est en cours d'exécution.
étiquette docker – Placez une balise sur une image pour le dépôt.
docker top – Affiche les processus en cours dans un conteneur.
docker unpause – Démarre un conteneur qui est en pause.
docker version – Affiche les versions de l'API, du Client et du Serveur de l'hôte.
docker wait – Attend le retour de l'exécution d'un conteneur pour démarrer ce conteneur.
Ce sont tous les commandes que nous avons dans la version 1.6.2 de Docker.
Administrer un conteneur

Nous avons un conteneur avec Apache à l'intérieur, nous avons besoin


saber:
• Comment savoir quels conteneurs je possède ?
• Quels ont été les derniers journaux de ce conteneur ?
• Sur quel port le conteneur est-il exécuté ?
• Quel commande dois-je exécuter pour arrêter et
Démarrer le conteneur ?
• Comment puis-je savoir que le conteneur est en cours d'exécution ?
Pour créer/démarrer un conteneur, vous pouvez utiliser le
suivant commande :
docker run -d -pencore
Nous pouvons 80:80 httpd
mapper un dossier de l'hôte à l'intérieur du
conteneur, cela fera en sorte que le conteneur partage avec le
héberger un certain dossier

docker run -d -p 80:80 -v /var/www/html:/var/www/html httpd

Par défaut, le dossier mappé reçoit des autorisations de lecture et


écrite, mais il est possible de faire en sorte que cette cartographie
soyez seulement en lecture, pour cela il suffit d'ajouter :ro à la fin :

docker run -d -p 80:80 -v


/var/www/html:/var/www/html:ro httpd
Comment savoir lesquels
Quel nombre de conteneurs possédez-vous ?

Vous pouvez exécuter la commande : docker ps -a, cela fera


avec que soit listé tous les conteneurs que vous
possède sur l'hôte où la commande est exécutée
(ou où le Docker Client est pointé)
Quels ont été les derniers journaux de ce conteneur ?

Dans la liste de la commande ci-dessus, vous pourrez voir l'id de


conteneur, ayant cette information, il suffit d'exécuter le
commande : docker logs id_du_conteneur. Cette commande
affichera à l'écran les derniers événements survenus dans le
conteneur
Quelle commande dois-je exécuter pour arrêter et démarrer le
conteneur ?

C'est simple, docker stop docker start, il y a des options


mais drásticas comme docker kill, mais ce dernier est
recommandé uniquement en dernier recours, car celui-ci
cela fera en sorte que le conteneur soit stoppé de manière abrupte,
pouvant causer la corruption du système de fichiers
même.
Comment savoir si le conteneur
est-ce en ligne ?

La commande docker ps ne renverra que les conteneurs


qui sont actifs, il est clair que cela ne veut pas dire seulement cela
que votre application/environnement fonctionne
correctement, une façon de tester cela est d'accéder à votre
environnement extérieur, par exemple, dans la commande qui
nous exécutons ci-dessus : docker run -d -p 80:80 httpdo
même fera en sorte que le port 80 de l'hôte soit alloué
pour le conteneur, cela veut dire que si j'accède :
[Link] je vais en fait accéder au port 80
qui est dédié au conteneur, avec cela je serai
accedant au site qui se trouve à l'intérieur du conteneur, le
site acessou? Perfeito, seu container está no ar.

Vous aimerez peut-être aussi