Tutoriel Docker pour les débutants : les bases, Architecture, Conteneurs
⚡ Résumé intelligent
Docker est une plateforme de conteneurisation qui regroupe les applications et leurs dépendances dans des conteneurs portables et légers. Cet aperçu explique l'architecture de Docker et son installation. Ubuntu, les commandes essentielles et en quoi les conteneurs diffèrent des machines virtuelles traditionnelles pour une livraison de logiciels plus rapide.

Docker est l'une des plateformes de conteneurisation les plus populaires utilisées dans le monde moderne. DevOps et les flux de travail cloud. Ce tutoriel Docker pour débutants explique ce qu'est Docker, comment fonctionne son architecture et comment l'installer. Ubuntu, et les commandes de base utilisées pour gérer les images et les conteneurs.
Qu'est-ce que Docker?
Docker Docker est une plateforme de développement logiciel pour la virtualisation qui permet d'exécuter plusieurs systèmes d'exploitation sur un même hôte. Elle facilite la séparation de l'infrastructure et des applications, ce qui accélère le déploiement des logiciels. Contrairement aux hyperviseurs, utilisés pour créer des machines virtuelles (VM), Docker effectue la virtualisation au niveau système à l'aide d'unités appelées conteneurs Docker.
Les conteneurs Docker s'exécutent sur le système d'exploitation hôte, comme illustré ci-dessous. Cela améliore à la fois l'efficacité et la sécurité. De plus, vous pouvez exécuter davantage de conteneurs que de machines virtuelles sur la même infrastructure, car les conteneurs consomment moins de ressources.

Contrairement aux machines virtuelles, qui peuvent communiquer directement avec le matériel hôte (par exemple, une carte Ethernet qui crée d'autres cartes virtuelles), les conteneurs Docker s'exécutent dans un environnement isolé, au-dessus du système d'exploitation hôte. Même si votre hôte exécute Windows, tu peux courir Linux images à l'intérieur de conteneurs à l'aide de Hyper-V, qui crée automatiquement une petite machine virtuelle pour virtualiser l'image de base.
Maintenant que vous savez ce qu'est Docker, examinons les principales raisons pour lesquelles les équipes le choisissent.
Pourquoi utiliser Docker ?
Voici les principales raisons d'utiliser Docker :
- Docker est un logiciel de virtualisation permettant plusieurs opérations. systèmes d'exploitation pour s'exécuter sur le même hôte.
- Docker est une application client-serveur, ce qui signifie que les clients communiquent avec un serveur.
- Les images Docker servent de « code source » aux conteneurs ; vous les utilisez pour construire.
- Docker prend en charge deux types de registres : publics et privés.
- Les conteneurs sont les unités d'organisation de Docker. En termes simples, une image est un modèle et un conteneur est une copie de ce modèle ; vous pouvez donc exécuter plusieurs conteneurs à partir de la même image.
Ces avantages découlent de la conception même de Docker. La section suivante détaille l'architecture de Docker et ses composants principaux.
Docker Architecture
Dans ce tutoriel sur les conteneurs Docker, examinons maintenant les principaux composants de l'architecture Docker.
Docker Engine
Docker est une application client-serveur, ce qui signifie que des clients relaient les requêtes vers un serveur. Le démon Docker, appelé dockerd, est le moteur Docker qui représente le serveur. Le démon et les clients peuvent s'exécuter sur le même hôte ou sur un hôte distant, et ils communiquent via un client binaire en ligne de commande et un protocole complet. API RESTful qui interagit avec dockerd.
Images Docker
Les images Docker constituent le « code source » de nos conteneurs ; elles servent à les créer. Ces images peuvent contenir des logiciels préinstallés, ce qui accélère le déploiement. Portables, elles permettent d’utiliser des images existantes ou d’en créer de nouvelles.
Registres Docker
Docker stocke les images que nous créons dans des registres. Il existe des registres publics et privés. Docker possède un registre public appelé Dockerfile. Docker HubVous pouvez également y stocker des images de manière privée. Docker Hub propose des millions d'images prêtes à l'emploi immédiatement.
Docker Containers
Les conteneurs sont les unités d'organisation de Docker et l'un de ses concepts fondamentaux. Lorsqu'on crée une image et qu'on l'exécute, on l'exécute à l'intérieur d'un conteneur. L'analogie avec le conteneur est utilisée en raison de la portabilité du logiciel qui y est exécuté : on peut le déplacer, le « transporter », le modifier, le gérer, le créer ou le supprimer, tout comme les cargos manipulent de véritables conteneurs.
En termes simples, une image est un modèle et un conteneur est une copie de ce modèle. Vous pouvez avoir plusieurs conteneurs (copies) de la même image.
L'interaction entre ces différents composants illustre le fonctionnement de la technologie des conteneurs Docker. Des commandes telles que `docker pull` et `docker run`, que nous aborderons plus loin, permettent de gérer ce flux de travail.
Compte tenu de l'architecture, installons Docker afin que vous puissiez tester vous-même ces composants.
Comment installer Docker sur Linux/Ubuntu
Vous trouverez ci-dessous la procédure d'installation de Docker étape par étape sous Linux.Ubuntu:
Étape 1) Pour installer Docker, vous avez besoin des paquets DEB fournis par l'équipe Docker. Tout d'abord, quelques prérequis Ubuntu Des paquets sont nécessaires. Utilisez la commande ci-dessous pour les installer.
$ sudo apt-get install \ apt-transport-https \ ca-certificates curl \ software-properties-common
*le signe « \ » n'est pas nécessaire, il est utilisé pour la nouvelle ligne, si vous le souhaitez vous pouvez écrire la commande sans utiliser « \ » sur une seule ligne.
Étape 2) Ajoutez la clé GPG officielle de Docker avec son empreinte. Utilisez la commande Docker ci-dessous pour saisir la clé GPG.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Étape 3) Ensuite, ajoutez le dépôt Docker APT à l'aide de la commande ci-dessous.
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Il vous sera peut-être demandé de confirmer l'ajout du dépôt et l'ajout automatique de la clé GPG à votre hôte. La commande lsb_release devrait renseigner le Ubuntu version de distribution de votre hébergeur.
Étape 4) Après avoir ajouté la clé GPG, mettez à jour les sources APT à l'aide de la commande Docker ci-dessous.
$ sudo apt-get update
Vous pouvez maintenant installer le package Docker lui-même.
Étape 5) Une fois les sources APT mises à jour, commencez l'installation des paquets Docker sur Ubuntu en utilisant la commande Docker ci-dessous.
$ sudo apt-get install docker-ce
La commande ci-dessus installe Docker et les autres paquets requis. Avant Docker 1.8.0, le nom du paquet était lxc-docker, et entre Docker 1.8 et 1.13, il s'appelait docker-engine.
NOTE: Docker pour Windows a besoin Windows 10 Pro ou Entreprise version 14393, ou Windows Serveur 2016 RTM, à exécuter.
Comment utiliser Docker à l'aide des commandes Docker de base
Voici comment utiliser Docker avec quelques commandes Docker de base.
La commande la plus élémentaire à exécuter après avoir installé Docker est « docker info », comme mentionné précédemment.
$ sudo docker info
Vous devriez obtenir un résultat similaire à celui-ci.
Comme illustré dans l'exemple Docker ci-dessus, nous pouvons consulter les informations relatives aux conteneurs Docker : leur nombre en cours d'exécution, en pause ou arrêtés, ainsi que le nombre d'images téléchargées. Récupérons maintenant notre première image.
$ sudo docker pull alpine
Cette commande indique à Docker de télécharger l'image alpine, en la récupérant depuis le registre public dans sa dernière version, qui est définie par défaut.
*alpine est une image Docker minimale basée sur Alpine Linux avec un index de package complet et une taille de seulement 5 Mo.
Si nous voulons exécuter l'image en tant que conteneur, nous utilisons la commande suivante.
$ sudo docker run -i -t alpine /bin/bash
L'exécution de cette commande nous amène directement au terminal Alpine. L'option `-i` maintient l'entrée standard (STDIN) ouverte depuis le conteneur, même lorsque vous n'y êtes pas connecté ; cette entrée standard persistante est essentielle pour un shell interactif. L'option `-t` est l'autre élément nécessaire et indique à Docker d'attribuer un pseudo-terminal (TTY) au conteneur. Ensemble, ces options nous permettent d'obtenir un shell interactif dans le nouveau conteneur. Nous quittons le conteneur avec la simple commande `exit`.
Dans ce tutoriel sur les bases de Docker, nous pouvons maintenant essayer d'exécuter un Ubuntu l'image.
$ sudo docker run -it ubuntu /bin/bash
Notez que Docker vérifie la présence de l'image localement et, si elle est absente, la télécharge automatiquement depuis la bibliothèque d'images. Nous disposons à nouveau d'un shell interactif. Nous pouvons également nommer les conteneurs lors de leur exécution.
$ sudo docker run –-name our_container -it ubuntu /bin/bash
Nous quittons ensuite le conteneur. Nous pouvons également exécuter un conteneur créé précédemment sans interface de ligne de commande interactive.
$ sudo docker start container_name
Et nous arrêtons le conteneur en tapant docker stop nom_du_conteneur.
$ sudo docker stop container_name
Pour afficher tous les conteneurs en cours d'exécution, il suffit d'exécuter la commande suivante.
$ docker ps
Pour tous les conteneurs, nous ajoutons « -a » à la fin de la même commande, comme ceci : `docker ps -a`. Cette commande affiche l’identifiant du conteneur, l’image qu’il utilise, sa date de création, son état d’exécution, les ports exposés et un nom généré aléatoirement pour faciliter sa gestion.
Lorsque nous exécutons des conteneurs, nous souhaitons souvent connaître la quantité de ressources qu'ils utilisent. Pour cela, nous pouvons utiliser la commande suivante.
$ docker stats
Vous pouvez également voir les images que vous avez téléchargées localement, ainsi que les informations les concernant.
$ sudo docker images
La commande de l'exemple Docker ci-dessus affiche chaque image Docker avec une étiquette indiquant la version de l'image, un identifiant d'image unique, la date de création et la taille de l'image.
Pour comprendre pourquoi les conteneurs représentent une telle amélioration, il est utile d'examiner comment la virtualisation a évolué.
Qu'est-ce que la virtualisation ?
Auparavant, le déploiement d'un service était long et fastidieux. Les développeurs écrivaient le code, puis l'équipe d'exploitation le déployait sur des serveurs physiques, en veillant à la compatibilité des versions des bibliothèques, des correctifs et des compilateurs pour garantir le bon fonctionnement du code. En cas de bug ou d'erreur, le processus recommençait : les développeurs corrigeaient le problème, puis l'équipe d'exploitation redéployait le service.
La création des hyperviseurs a amélioré les choses. Les hyperviseurs exécutent plusieurs processus. machines virtuellesLes machines virtuelles (VM) peuvent être exécutées sur le même hôte, en cours d'exécution ou non. Elles ont considérablement réduit le temps d'attente pour le déploiement de code et la correction des bogues, mais ce sont les conteneurs Docker qui ont véritablement révolutionné le secteur.
La popularité de Docker est également due aux outils d'orchestration qui gèrent les conteneurs à grande échelle, tels que : KubernetesAvant de poursuivre, voici un bref récapitulatif des commandes Docker les plus importantes.
Commandes Docker importantes
Vous trouverez ci-dessous les commandes Docker importantes :
| Command | Description |
|---|---|
| infos docker | Commandement de l'information |
| docker tirer | Télécharger une image |
| docker run -i -t nom_image /bin/bash | Exécuter l'image en tant que conteneur |
| docker démarre notre_conteneur | Démarrer le conteneur |
| docker stop nom_conteneur | Arrêter le conteneur |
| docker ps | Liste de tous les conteneurs en cours d'exécution |
| statistiques de docker | Informations sur le conteneur |
| images docker | Liste des images téléchargées |
| Nettoyage de Docker | Tuez tous les conteneurs en cours d'exécution. |
Lisez aussi ceci Questions et réponses pour l'entretien d'embauche de Docker pour les débutants comme pour les professionnels expérimentés.

