Docker est une plateforme de virtualisation qui vous permet de créer des conteneurs de développement isolés. Introduit en 2013, Docker offre la possibilité d'exécuter facilement vos applications sur n'importe quelle machine, quel que soit le système d'exploitation ou la plate-forme. Aujourd'hui, de nombreux développeurs utilisent Docker pour tester et déployer leurs applications dans des conteneurs. Les conteneurs sont des instances virtuelles isolées des ressources qui permettent d'exécuter plusieurs systèmes isolés sur une seule machine hôte.
Pourquoi Docker ?
Docker vous permet de créer, déployer et exécuter facilement des applications sur différentes plates-formes sans risque d'incompatibilités entre les environnements de développement et de production. Il vous permet également de gérer votre infrastructure de manière plus efficace.
Il existe deux éditions de Docker :l'édition communautaire (Docker CE) et l'édition entreprise (Docker EE). Docker EE est une solution de gestion de conteneurs prête pour l'entreprise.
Vous pouvez télécharger des images de conteneur Docker à partir de référentiels officiels appelés registres, qui incluent des registres publics comme Docker Hub ou des registres privés comme Registry Hub. Vous pouvez également créer vos propres images personnalisées à l'aide de docker commit.
Dans ce guide, vous apprendrez à installer et à utiliser Docker sur Rocky Linux 8.
Prérequis
Pour terminer cet article, vous aurez besoin des éléments suivants :
- Une nouvelle installation de Rocky Linux 8
- Vous devez avoir au moins 2 Go de RAM installés sur votre système. Vous pouvez éventuellement allouer plus de 2 Go en fonction de vos besoins. 2 cœurs vCPU/CPU et un minimum de 20 Go d'espace disque système pour Docker, plus de l'espace libre supplémentaire en fonction du nombre d'images de conteneur que vous souhaitez créer.
- Un utilisateur avec des privilèges sudo est configuré sur le serveur
Mettre à jour le serveur
Tout d'abord, assurez-vous que votre serveur est à jour en utilisant les commandes suivantes :
sudo dnf update -y
Si des versions précédentes de Docker sont installées sur votre système, vous devez les supprimer à l'aide des commandes suivantes :
sudo dnf remove docker*
Installer Docker
Tout d'abord, ajoutez le référentiel Docker officiel à l'aide de la commande suivante :
sudo dnf install -y dnf-utils
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Mettez à jour les référentiels système à l'aide de la commande suivante :
sudo dnf update -y
Vous pouvez répertorier les référentiels nouvellement ajoutés à l'aide de la commande suivante :
sudo dnf repolist -v
Installez Docker CE sur votre système comme suit :
sudo dnf install -y docker-ce
Après l'avoir installé, vous pouvez vérifier la version de Docker Enterprise Edition à l'aide de la commande suivante :
docker --version
Vous devriez voir une sortie semblable à la suivante :
Démarrez le service Docker et configurez-le pour qu'il démarre automatiquement au démarrage du système.
sudo systemctl start docker
sudo systemctl enable docker
Vérifiez l'état du service docker.
sudo systemctl status docker
Vous pouvez voir l'actif (en cours d'exécution) en vert. Si vous voyez une sortie comme celle-ci, votre installation de Docker est réussie. Appuyez sur q pour revenir à l'invite de commande.
Autoriser l'accès non root
Si vous exécutez Docker en tant qu'utilisateur standard, vous pouvez obtenir une erreur du type "Erreur de démarrage du démon". Pour autoriser l'exécution de la commande docker sans la préfixer avec sudo, ajoutez votre utilisateur système actuel au groupe Docker à l'aide de la commande suivante :
sudo usermod -aG docker $USER
Où $USER est le nom de votre utilisateur système. Déconnectez-vous et reconnectez-vous pour que cette modification prenne effet.
Vérification de l'installation de Docker
Vous pouvez vérifier que Docker est correctement installé en extrayant l'image docker hello-world du hub Docker. Docker hub est un registre public qui contient des images Docker utiles. Vous pouvez créer vos propres images ou extraire des images déjà créées et partagées à partir du hub Docker.
docker container run hello-world
Si l'image hello-world n'est pas trouvée sur l'hôte, Docker la découvrira automatiquement et la téléchargera à partir de Docker Hub. Une fois l'image téléchargée, le démon docker instancie un nouveau conteneur à partir de celle-ci et exécute le programme à l'intérieur pour afficher "Hello from Docker !"
Utilisation des commandes Docker
Maintenant que Docker est installé et fonctionne, voyons comment l'utiliser. Vous pouvez lister toutes les commandes docker en tapant simplement :
docker
Pour obtenir des informations telles que OSType, Architecture, CPU, Total Memory, exécutez la commande info avec docker.
sudo docker info
Pour rechercher des images disponibles sur Docker Hub, vous pouvez utiliser la commande de recherche avec la commande docker. Par exemple, pour rechercher une image centos, tapez
sudo docker search centos
Le script explorera Docker Hub et renverra les images correspondantes. Vous pouvez voir la liste des images disponibles pour les centos ci-dessous.
Vous pouvez voir le OK statut dans le OFFICIEL colonne qui indique que ces images sont prises en charge par la société à l'origine du projet.
Avec la commande pull, vous pouvez télécharger une image sur votre ordinateur après avoir identifié celle que vous souhaitez utiliser.
sudo docker pull centos
Cette commande extraira la version la plus récente de l'image Centos sur votre ordinateur. Pour afficher la liste des images sur votre système, tapez :
sudo docker images
Le résultat doit ressembler à ce qui suit :
Exécuter un conteneur Docker
Vous pouvez exécuter un conteneur Docker à l'aide de la commande docker run ou docker create. Avec Docker Run, vous pouvez créer un nouveau conteneur de manière interactive ou vous pouvez transmettre une image préexistante à partir de votre système de fichiers local, de votre registre ou de votre hub Docker.
Le docker exécute la syntaxe de ligne de commande comme suit :
sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
Par exemple, exécutons un conteneur en utilisant la dernière image de centos que nous avons extraite du hub Docker ci-dessus.
sudo docker run centos
Vous êtes maintenant à l'intérieur du conteneur avec un ID de conteneur. Dans cet exemple, il s'agit de 2d80435f0d91. Vous devriez avoir une invite de commande qui ressemble à ceci :
Dans le conteneur, n'importe quelle commande peut être exécutée sans utiliser sudo car vous êtes un utilisateur root. Par exemple, vous pouvez exécuter la commande dnf update pour mettre à jour les packages à l'intérieur de l'image centos :
dnf update
Toutes les modifications que vous avez apportées à l'intérieur d'un conteneur, ces modifications n'affectent que ce conteneur. Vous pouvez quitter le conteneur en tapant exit à l'invite.
Conclusion
Dans ce didacticiel, vous avez appris à installer Docker sur votre serveur, à travailler avec des images et des conteneurs. Une fois que vous vous êtes familiarisé avec ces concepts de base, vous pouvez passer à des sujets plus avancés sur la documentation officielle de Docker.