Auteur : Zen et l'art de la programmation informatique
1. Introduction
Docker est un moteur de conteneur d'applications open source qui permet aux développeurs de regrouper leurs applications et dépendances dans une image légère et portable, puis de la publier sur n'importe quel serveur Linux ou Windows populaire, qui peut également être virtualisé. Les solutions basées sur des conteneurs améliorent non seulement l'efficacité de la distribution et du déploiement des services, mais, plus important encore, elles isolent l'environnement des applications et les dépendances d'exécution, rendant ainsi la maintenance des applications simple et sûre. Cet article explique comment installer et configurer Docker et utiliser certaines commandes Docker.
2. Explication des concepts et termes de base
2.1 Qu'est-ce que Docker ?
Docker est un moteur de conteneur d'applications open source qui permet aux développeurs de regrouper leurs applications et dépendances dans une image légère et portable, puis de la publier sur n'importe quel serveur Linux ou Windows populaire, qui peut également être virtualisé. Les solutions basées sur des conteneurs améliorent non seulement l'efficacité de la distribution et du déploiement des services, mais, plus important encore, elles isolent l'environnement des applications et les dépendances d'exécution, rendant ainsi la maintenance des applications simple et sûre.
2.2 Pourquoi utiliser Docker ?
De nombreuses personnes utilisent Docker, mais pourquoi ? Il y a principalement les raisons suivantes :
- Cohérence de l'environnement : les développeurs utilisent un environnement unifié pour déployer le code, garantissant que tous les membres exécutent le même code et le même environnement ; grâce à Docker, différents développeurs peuvent partager le même environnement, économisant ainsi les coûts matériels et améliorant l'efficacité du travail.
- Exploitation et maintenance automatisées : grâce au déploiement automatisé de conteneurs, les applications peuvent être rapidement déployées dans l'environnement de production, accélérant considérablement le cycle de livraison des logiciels. Dans le même temps, grâce au mode Docker Swarm, une mise à l'échelle élastique peut être effectuée pour répondre aux besoins croissants des entreprises.
- Architecture des microservices : dans le cadre de l'architecture des microservices, chaque service peut être utilisé comme un conteneur indépendant pour mieux gérer les ressources et les quotas d'allocation, réduire le couplage des services individuels et améliorer l'évolutivité et l'élasticité du système.
- Contrôle de version : étant donné que chaque conteneur est un système de fichiers isolé, le code et les dépendances peuvent être contrôlés en version pour faciliter le déploiement et la restauration.
- Portabilité : Docker peut fonctionner sur diverses distributions Linux grand public et fournit une interface unifiée. Cela garantit la cohérence de l’environnement de déploiement des applications.
2.3 Composition de Docker
Docker est composé de trois composants principaux :
- Client Docker : un outil utilisé par les utilisateurs pour exécuter des instructions de ligne de commande Docker.
- Hôte (ou serveur) Docker : machine qui exécute le démon Docker et les conteneurs d'applications utilisateur.
- Entrepôt Docker : un endroit où les fichiers image sont stockés, similaire à Docker Hub.
2.4 Fichier Docker
Dockerfile est le fichier de contenu utilisé pour définir l'image et indique à Docker comment créer l'image. Chaque Dockerfile contient une ou plusieurs instructions, indiquant à Docker où obtenir l'image de base, quels fichiers doivent être ajoutés et les commandes à exécuter après le démarrage du conteneur, etc. Ces instructions constituent une description d'une image, et plusieurs images différentes peuvent être créées via Dockerfile. Comme indiqué ci-dessous:
2.5 Image Docker
Image fait référence à un fichier binaire statique qui a été compilé et peut être exécuté localement. Il contient toutes les données et le code en cours d'exécution nécessaires, y compris le code, le runtime, les bibliothèques, les variables d'environnement, les fichiers de configuration, les scripts, etc.
2.6 Conteneur Docker
Le conteneur est l'instance en cours d'exécution de l'image et son contenu inclut tous les fichiers et répertoires de l'image. Généralement, une image peut correspondre à plusieurs conteneurs, et chaque conteneur peut être considéré comme un environnement d'exécution indépendant.
2.7 Registre Docker
Le registre est un endroit utilisé pour stocker les fichiers image, similaire à Docker Hub. En plus du registre officiel, vous pouvez également créer votre propre registre privé.
3. Installez et configurez Docker
3.1 Installer Docker CE sur Ubuntu
(1) Créer un entrepôt
La première étape consiste à mettre à jour l'index du package APT :
sudo apt update
La deuxième étape consiste à installer les packages de dépendances nécessaires :
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
Troisième étape, ajoutez la clé GPG :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
La quatrième étape consiste à configurer l'entrepôt Docker :
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
La dernière étape consiste à mettre à jour l'index du package APT et à installer Docker CE :
sudo apt update && sudo apt upgrade
sudo apt install docker-ce docker-ce-cli containerd.io
(2) Vérifier l'installation
Tout d’abord, vérifiez le numéro de version de Docker :
sudo docker version
Si les informations suivantes s'affichent, l'installation a réussi :
Client:
Version: 20.10.7
API version: 1.41
Go version: go1.13.8
Git commit: 20.10.7-0ubuntu1~20.04.1
Built: Wed Aug 4 22:52:58 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server:
Engine:
Version: 20.10.7
API version: 1.41 (minimum version 1.12)
Go version: go1.13.8
Git commit: 20.10.7-0ubuntu1~20.04.1
Built: Wed Aug 4 19:07:47 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.5.2-0ubuntu1~20.04.2
GitCommit:
runc:
Version: 1.0.0~rc95-0ubuntu1~20.04.2
GitCommit:
3.2 Installer Docker CE sur CentOS
(1) Créer un entrepôt
La première étape consiste à configurer la source YUM :
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
La deuxième étape consiste à installer Docker CE :
sudo yum update -y && sudo yum install -y docker-ce docker-ce-cli containerd.io
(2) Vérifier l'installation
Tout d’abord, vérifiez le numéro de version de Docker :
sudo docker version
Si les informations suivantes s'affichent, l'installation a réussi :
Client: Docker Engine - Community
Version: 20.10.7
API version: 1.41
Go version: go1.13.15
Git commit: f0df350
Built: Wed Jun 2 11:56:40 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.7
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: b0f5bc3
Built: Wed Jun 2 11:54:58 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.6
GitCommit: d71fcd7d8303cbf684402823e425e9dd2e99285d
runc:
Version: 1.0.0-rc95
GitCommit: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
docker-init:
Version: 0.19.0
GitCommit: de40ad0
3.3 Configurer l'accélérateur d'images
En raison de l'environnement réseau national particulier, l'extraction de l'image Docker est très lente, voire impossible à télécharger. Dans ce cas, vous pouvez utiliser un accélérateur d'image domestique pour augmenter la vitesse de téléchargement.
Il existe actuellement deux principaux accélérateurs d’image en Chine :
Entrez la commande suivante dans le terminal pour configurer l'accélérateur d'image :
# 替换$username为你的用户名,$accelerator为镜像加速器地址
echo '{"registry-mirrors": ["https://$username.mirror.aliyuncs.com", "$accelerator"]}'> /etc/docker/daemon.json
Rechargez le fichier de configuration :
sudo systemctl daemon-reload && sudo systemctl restart docker