Comment utiliser les conteneurs Docker

Comment utiliser les conteneurs Docker
Une photographie d'une personne en train de programmer sur un ordinateur portable.

Les conteneurs sont l’élément vital de chaque installation Docker. Ils servent de base à la plateforme Docker et vous permettent d’exécuter des services sur votre ordinateur sans vous soucier des dépendances et des conflits de versions. Ici, nous vous montrons les bases de la création, de la gestion et de la personnalisation des conteneurs Docker à l’aide de l’outil Docker CLI.

Comment trouver et extraire une image Docker

Les conteneurs Docker sont un type spécial d’environnement logiciel qui vous permet d’exécuter des programmes indépendamment du reste de votre système d’origine. Pour y parvenir, Docker utilise des « images logicielles ». Il s’agit de copies statiques de programmes qui servent de base à partir de laquelle un conteneur démarre.

Cette distinction entre image et conteneur vous permet de recréer et d’adapter votre logiciel comme vous le souhaitez. Par exemple, vous pouvez avoir une image telle que « httpd » mais créer deux conteneurs distincts à partir de celle-ci : « website1 » et « website2 ».

Le moyen le plus simple de rechercher une nouvelle image Docker est d’utiliser la searchsous-commande :

Un terminal mettant en évidence l'image Docker httpd à partir de l'outil CLI.
Une capture d'écran montrant l'image Docker httpd du site Web Docker Hub.

Pour télécharger l’image sur votre système, exécutez la commande suivante :

Confirmez que vous avez correctement ajouté votre nouvelle image à votre système à l’aide de la imagessous-commande :

Un terminal mettant en évidence l'image Docker httpd installée sur le système.

Créer une nouvelle image à l’aide de Dockerfiles

En plus d’extraire des images prédéfinies depuis Docker Hub, vous pouvez créer des images directement depuis la CLI Docker. Cela est utile si vous souhaitez créer des versions personnalisées de packages logiciels existants ou porter de nouvelles applications vers Docker.

Pour ce faire, créez d’abord un dossier dans votre répertoire personnel pour vos fichiers de build :

Créez un nouveau Dockerfile à l’aide de votre éditeur de texte préféré :

Collez les lignes de code suivantes dans votre nouveau Dockerfile :

Un terminal montrant un exemple de configuration Dockerfile pour une image Nginx personnalisée.

Créez un dossier « sample-site » et copiez-le ou créez un site HTML de base :

Enregistrez votre nouveau Dockerfile, puis exécutez la commande suivante pour le créer sur votre système :

Vérifiez si votre nouvelle image Docker est présente dans votre liste d’images Docker :

Un terminal mettant en évidence l'image personnalisée générée à partir de la sous-commande build.

Créer une nouvelle image à l’aide de conteneurs existants

L’outil Docker CLI peut également créer de nouvelles images à partir des conteneurs qui existent actuellement dans votre système. Cela est utile si vous travaillez déjà sur un environnement existant et que vous souhaitez créer une nouvelle image à partir de votre configuration actuelle.

Pour ce faire, assurez-vous que votre conteneur n’est pas en cours d’exécution :

Exécutez la commitsous-commande suivie du nom de votre conteneur, puis indiquez le nom de votre nouvelle image Docker après cela :

Un terminal affichant la sous-commande commit créant une nouvelle image à partir d'un conteneur Docker.

Confirmez que votre nouvelle image Docker est dans votre système en exécutant docker images.

Un terminal mettant en évidence la nouvelle image personnalisée d'un conteneur Docker installé dans le système.

Comment exécuter et arrêter un conteneur Docker

Une fois votre image Docker prête, vous pouvez maintenant commencer à l’utiliser pour créer votre premier conteneur. Pour ce faire, utilisez la runsous-commande suivie du nom de l’image que vous souhaitez exécuter :

Bien que cela fonctionne pour exécuter votre premier conteneur Docker, procéder de cette manière prendra le relais de votre session shell actuelle. Pour exécuter votre conteneur en arrière-plan, ajoutez l’ -dindicateur après la runsous-commande :

La runsous-commande peut également prendre en compte un certain nombre d’indicateurs supplémentaires qui peuvent modifier le comportement de votre nouveau conteneur Docker. Par exemple, l’ --nameindicateur vous permet d’ajouter un nom personnalisable à votre conteneur :

D’autre part, vous pouvez utiliser l’ --publishindicateur pour rediriger le port réseau sur lequel vous pouvez accéder à votre conteneur Docker. Ceci est particulièrement utile si vous ne voulez pas que votre conteneur prenne le contrôle d’un port privilégié :

Une capture d'écran montrant un navigateur Web ouvrant le site Web hébergé par le conteneur Docker personnalisé.

Vous pouvez vérifier tous les conteneurs Docker actuellement en cours d’exécution sur votre système en exécutant la commande suivante :

Similairement à la runsous-commande, pselle peut également prendre en compte une poignée d’indicateurs qui modifieront son comportement. Par exemple, pour afficher les conteneurs actuellement en panne, utilisez l’ -aindicateur :

Pour désactiver un conteneur en cours d’exécution, utilisez la stopsous-commande suivie de l’ID du conteneur ou du nom de votre conteneur Docker :

Un terminal montrant le processus de désactivation d'un conteneur Docker en cours d'exécution.

Vous pouvez redémarrer n’importe quel conteneur que vous avez arrêté en réexécutant la startsous-commande :

Mettre en pause et arrêter un conteneur Docker

L’outil Docker CLI vous permet également de suspendre temporairement et d’arrêter un processus de conteneur en cours d’exécution. Cela peut être utile si vous résolvez un problème avec votre configuration Docker et que vous souhaitez isoler ou arrêter un conteneur qui ne fonctionne pas correctement.

Commencez par exécuter docker pspour répertorier tous les conteneurs en cours d’exécution dans le système.

Recherchez l’ID ou le nom du conteneur que vous souhaitez gérer.

Un terminal mettant en évidence le conteneur Docker personnalisé actuellement en cours d'exécution dans le système.

Exécutez la pausesous-commande suivie du nom du conteneur que vous souhaitez suspendre temporairement :

Vous pouvez reprendre un processus suspendu en exécutant la unpausesous-commande :

Pour arrêter un processus défectueux, exécutez la killsous-commande suivie du nom de votre conteneur :

Comment inspecter un conteneur Docker

Connaître les détails complexes de votre conteneur est essentiel pour maintenir la santé de votre pile Docker. Cela vous permet d’examiner rapidement tout problème potentiel et cela peut faire la différence entre la résolution et la refonte de l’ensemble de votre déploiement.

Pour avoir un aperçu de votre conteneur Docker, exécutez la inspectsous-commande :

Cette opération imprimera une longue chaîne JSON qui décrit l’état actuel de l’ensemble de votre conteneur. Vous pouvez affiner cette recherche soit en redirigeant la sortie vers jq, soit en utilisant l’indicateur intégré -fsuivi de l’objet JSON que vous souhaitez imprimer :

Un terminal affichant l'indicateur de filtre pour la sous-commande inspect sur un conteneur Docker en cours d'exécution.

Impression des journaux de conteneurs sur le terminal

En plus de cela, vous pouvez également suivre et imprimer les journaux de tout conteneur Docker en cours d’exécution. Cela peut être utile si vous souhaitez vérifier le comportement actuel de votre service et examiner la sortie qu’il renvoie à STDOUT.

Pour ce faire, exécutez la sous-commande logs suivie du nom de votre conteneur :

Vous pouvez également exécuter la sous-commande logs avec l’ --followindicateur pour créer un journal continu de votre service Docker. Cela revient à exécuter tail -fà la fin d’un canal UNIX :

Un terminal affichant les journaux continus d'un conteneur Docker.

Comme pour les autres sous-commandes, vous pouvez également ajouter divers indicateurs pour personnaliser la sortie du journal de votre conteneur Docker. Par exemple, l’ --timestampsindicateur ajoute un horodatage détaillé pour chaque message que votre conteneur envoie à sa sortie standard STDOUT :

L’ --detailsindicateur affichera même les variables d’environnement que vous avez définies pour votre conteneur Docker actuel. En même temps, l’ --sinceindicateur vous permet d’afficher uniquement les journaux qui se sont produits après un moment précis :

Un terminal affichant une sortie de journal plus détaillée d'un conteneur Docker en cours d'exécution.

Comment personnaliser un conteneur Docker

À la base, un conteneur Docker est une version réduite et simplifiée de Linux exécutée sur votre système actuel. Cela signifie que, comme pour une machine virtuelle, il est possible d’accéder aux données contenues dans votre conteneur et de les récupérer.

Pour copier un fichier local de votre machine hôte vers le conteneur, exécutez la cpsous-commande :

Parfois, vous aurez également besoin d’« entrer » dans les conteneurs en ouvrant un shell à l’intérieur de ceux-ci. De cette façon, vous pouvez modifier les fichiers, installer des binaires et les personnaliser selon vos besoins :

Un terminal montrant le processus de dépôt vers le shell racine d'un conteneur.

Vous pouvez maintenant, par exemple, modifier « index.html » et créer une page d’accueil pour le site Web.

Un terminal affichant un fichier HTML copié dans le shell racine d'un conteneur Docker.

Pour quitter le shell du conteneur, appuyez sur Ctrl+ Dou exécutez exitsur le terminal.

Un terminal mettant en évidence la commande de sortie du shell racine du conteneur Docker.

Comment supprimer les conteneurs et les images Docker

La suppression des conteneurs et des images Docker inutilisés est une étape importante de la gestion générale de votre déploiement. Cela vous permet de supprimer les fichiers inutiles de votre serveur, économisant ainsi de l’espace de stockage à long terme.

Avant de supprimer un conteneur, assurez-vous de l’avoir d’abord arrêté :

Maintenant, supprimez le conteneur à l’aide de la rmsous-commande :

Confirmez que vous avez correctement supprimé votre ancien conteneur Docker en exécutant docker ps -a.

Un terminal affichant tous les conteneurs Docker disponibles, y compris ceux actuellement en panne.

Supprimez votre image Docker d’origine de votre déploiement Docker :

Un terminal mettant en évidence la sortie de la suppression d'une image Docker du système.

Vérifiez si vous avez correctement supprimé votre image Docker d’origine en exécutant docker images.

Un terminal affichant la liste des images Docker mises à jour.

Apprendre à créer, gérer et supprimer des conteneurs Docker n’est qu’une partie de ce que vous pouvez faire avec votre serveur Linux.

Crédit image : Shamin Haky via Unsplash . Toutes les modifications et captures d’écran par Ramces Red.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *