Comment utiliser les conteneurs Docker
Découvrez les bases de la création, de la gestion et de la personnalisation des conteneurs Docker avec Docker CLI.
Les conteneurs sont le moteur 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 version. 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.
Remarque : Commencez par installer Docker sur votre système Linux.
Comment trouver et télécharger une image Docker
Les conteneurs Docker sont un type spécial d'environnement logiciel qui vous permet d'exécuter des programmes séparément du reste de votre système d'origine. Pour cela, Docker utilise des "images logicielles". Ce sont des copies statiques de programmes qui servent de base à partir de laquelle un conteneur démarre.
Cette distinction entre l'image et le conteneur vous permet de recréer et d'adapter votre logiciel de la manière nécessaire. Par exemple, vous pouvez avoir une image telle que "httpd" mais créer deux conteneurs distincts à partir de celle-ci : "site1" et "site2".
La façon la plus simple de rechercher une nouvelle image Docker est d'utiliser la sous-commande search
:
docker search httpd
Vous pouvez également rechercher des packages sur le site Docker Hub si vous préférez utiliser votre navigateur Web.
Pour télécharger l'image sur votre système, exécutez la commande suivante :
docker image pull httpd
Confirmez que vous avez correctement ajouté votre nouvelle image à votre système en utilisant la sous-commande images
:
docker images
Création d'une nouvelle image à l'aide de Dockerfiles
En plus de rechercher des images préconstruites sur Docker Hub, vous pouvez construire des images directement depuis Docker CLI. Cela est utile si vous souhaitez créer des versions personnalisées de logiciels existants ou si vous portez de nouvelles applications vers Docker.
Pour ce faire, commencez par créer un dossier dans votre répertoire personnel pour vos fichiers de construction :
mkdir ~/my-docker-image && cd ~/my-docker-image
Créez ensuite un nouveau fichier Dockerfile à l'aide de votre éditeur de texte préféré :
nano ./Dockerfile
Collez les lignes de code suivantes à l'intérieur de votre nouveau Dockerfile :
FROM nginx COPY sample-site /usr/share/nginx/html
Créez un dossier "sample-site" et copiez-y ou créez un site HTML de base :
mkdir ./sample-site cp ~/index.html ./sample-site/
Enregistrez votre nouveau Dockerfile, puis exécutez la commande suivante pour le construire sur votre système :
docker build -t custom-nginx .
Vérifiez si votre nouvelle image Docker est présente dans votre liste d'images Docker :
docker images
Création d'une nouvelle image à partir de conteneurs existants
L'outil Docker CLI peut également créer de nouvelles images à partir des conteneurs existants sur 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 :
docker stop my-http-server
Exécutez la sous-commande commit
suivie du nom de votre conteneur, puis indiquez le nom de votre nouvelle image Docker :
docker commit my-http-server my-new-server-image
Confirmez que votre nouvelle image Docker est présente dans votre système en exécutant la commande docker images
.
Comment exécuter et arrêter un conteneur Docker
Avec votre image Docker prête, vous pouvez maintenant l'utiliser pour créer votre premier conteneur. Pour cela, utilisez la sous-commande run
suivie du nom de l'image que vous souhaitez exécuter :
docker run httpd
Alors que cela fonctionnera pour exécuter votre premier conteneur Docker, cette méthode prendra le contrôle de votre session shell actuelle. Pour exécuter votre conteneur en arrière-plan, ajoutez le drapeau -d
après la sous-commande run
:
docker run -d httpd
La sous-commande run
peut également prendre un certain nombre de drapeaux supplémentaires qui peuvent modifier le comportement de votre nouveau conteneur Docker. Par exemple, le drapeau --name
vous permet d'ajouter un nom personnalisable à votre conteneur :
docker run -d --name=my-http-server httpd
D'autre part, vous pouvez utiliser le drapeau --publish
pour rediriger le port réseau où vous pouvez accéder à votre conteneur Docker. Cela est principalement utile si vous ne voulez pas que votre conteneur utilise un port privilégié :
docker run -d --name=my-http-server --publish 8080:80 httpd
Vous pouvez vérifier tous les conteneurs Docker en cours d'exécution en exécutant la commande docker ps
Vous pouvez afficher les conteneurs de votre système en exécutant la commande suivante :
docker ps
Tout comme la sous-commande run
, ps
peut également accepter plusieurs options qui modifieront son comportement. Par exemple, pour voir les conteneurs qui sont actuellement arrêtés, utilisez l'option -a
:
docker ps -a
Pour arrêter un conteneur en cours d'exécution, utilisez la sous-commande stop
suivie soit de l'ID du conteneur, soit du nom de votre conteneur Docker :
docker stop my-http-server
Vous pouvez redémarrer n'importe quel conteneur que vous avez arrêté en relançant la sous-commande start
:
docker start my-http-server
Note : apprenez les bases de l'hébergement web avec Docker en exécutant un site web simple à l'aide de darkhttpd.
Mettre en pause et arrêter un conteneur Docker
L'outil Docker CLI vous permet également de mettre temporairement en pause et d'arrêter un processus de conteneur en cours d'exécution. Cela peut être utile si vous rencontrez des problèmes avec votre configuration Docker et que vous souhaitez isoler ou arrêter un conteneur en comportement incorrect.
Commencez par exécuter docker ps
pour lister 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.
Exécutez la sous-commande pause
suivie du nom du conteneur que vous souhaitez suspendre temporairement :
docker pause my-http-server
Vous pouvez reprendre un processus en suspension en exécutant la sous-commande unpause
:
docker unpause my-http-server
Pour arrêter un processus en comportement incorrect, exécutez la sous-commande kill
suivie du nom de votre conteneur :
docker kill my-http-server
Comment inspecter un conteneur Docker
Connaître les détails complexes de votre conteneur est une partie vitale de la maintenance de la santé de votre pile Docker. Cela vous permet de rapidement identifier les problèmes potentiels et peut faire la différence entre la réparation ou la refonte complète de votre déploiement.
Pour obtenir un aperçu de votre conteneur Docker, exécutez la sous-commande inspect
:
docker inspect my-http-server
Cela affichera une longue chaîne JSON qui décrit l'état actuel de l'ensemble de votre conteneur. Vous pouvez réduire cela soit en passant la sortie à jq, soit en utilisant l'option intégrée -f
suivie de l'objet JSON que vous souhaitez afficher :
docker inspect -f {{.Name}} my-http-server
Affichage des logs du conteneur dans le terminal
En plus de cela, vous pouvez également suivre et afficher les logs de n'importe quel conteneur Docker actuellement en cours d'exécution. Cela peut être utile si vous voulez vérifier le comportement actuel de votre service et consulter la sortie qu'il retourne à STDOUT.
Pour ce faire, exécutez la sous-commande logs suivie du nom de votre conteneur :
docker logs my-http-server
Vous pouvez également exécuter la sous-commande logs avec l'option --follow
pour créer un journal continu de votre service Docker. Cela est similaire à l'exécution de tail -f
à la fin d'un pipeline UNIX :
docker logs --follow my-http-server
Tout comme pour les autres sous-commandes, vous pouvez également ajouter diverses options pour personnaliser la sortie du journal du conteneur Docker. Par exemple, l'option --timestamps
ajoute une horodatage détaillé pour chaque message envoyé par votre conteneur à STDOUT :
docker logs --timestamps my-http-server
L'option --details
affiche même les variables d'environnement que vous avez définies pour votre conteneur Docker actuel. En revanche, l'option --since
vous permet de n'afficher que les journaux qui se sont produits après un moment particulier :
docker logs --details --since 8m my-http-server
Comment personnaliser un conteneur Docker
À sa base, un conteneur Docker est une version allégée de Linux fonctionnant sur votre système actuel. Cela signifie que, tout comme une machine virtuelle, il est possible d'accéder et de récupérer les données à l'intérieur de votre conteneur.
Pour copier un fichier local depuis votre machine hôte vers le conteneur, exécutez la sous-commande cp
:
docker cp ~/my-file my-http-server:/tmp
Parfois, vous devrez également "entrer" dans des conteneurs en ouvrant un shell à l'intérieur. Vous pourrez ainsi modifier des fichiers, installer des binaires et les personnaliser selon vos besoins :
docker exec -it my-http-server /bin/bash
Maintenant, vous pouvez, par exemple, modifier "index.html" et créer une page d'accueil pour le site web.
Pour quitter le shell du conteneur, vous pouvez soit appuyer sur Ctrl + D, soit exécuter la commande exit
dans le terminal.
Bon à savoir: apprenez comment déplacer un conteneur Docker existant vers un nouveau système.
Comment supprimer les conteneurs et les images Docker
Supprimer les conteneurs et les images Docker inutilisés fait partie intégrante de l'entretien général de votre déploiement. Cela vous permet de supprimer les fichiers inutiles de votre serveur et d'économiser de l'espace de stockage à long terme.
Avant de supprimer un conteneur, assurez-vous de l'avoir d'abord arrêté :
docker stop my-http-server
Ensuite, supprimez le conteneur en utilisant la sous-commande rm
:
docker rm my-http-server
Confirmez que vous avez correctement supprimé votre ancien conteneur Docker en exécutant la commande docker ps -a
.
Supprimez votre image Docker d'origine de votre déploiement Docker :
docker rmi my-new-server-image
Vérifiez si vous avez correctement supprimé votre image Docker d'origine en exécutant la commande docker images
.
Apprendre à créer, gérer et supprimer des conteneurs Docker ne représente qu'une partie de ce que vous pouvez faire avec votre serveur Linux. Explorez le vaste monde de l'administration système Linux en hébergeant un serveur et un hub de conteneurs Docker avec XPipe.
Tout ce qu'il faut savoir : questions et réponses
Comment fonctionnent les conteneurs Docker ?
Les conteneurs Docker fonctionnent en extrayant automatiquement les images correspondantes du Docker Hub public lorsqu'ils sont démarrés, sauf si elles sont déjà disponibles localement. Vous pouvez également créer vos propres images et les partager sur Docker Hub dans un référentiel public ou privé.
Comment se connecter à un conteneur docker ?
Pour vous connecter à un conteneur Docker, utilisez la commande 'docker exec -it /bin/bash'. Cela vous permettra d'accéder au conteneur et de prendre le contrôle de son terminal.
Comment lancer un container docker ?
Pour lancer rapidement et facilement un conteneur Docker, utilisez la commande suivante : 'docker run '. Cette commande créera et démarrera le conteneur basé sur l'image spécifiée. L'ID unique du conteneur sera affiché dans la deuxième ligne de l'image lorsqu'il est créé.
Comment voir les container docker ?
Pour voir les containers Docker rapidement et facilement, utilisez la commande 'docker logs' pour consulter les journaux du conteneur. Vous pouvez interroger les journaux du conteneur en utilisant cette commande. Pour plus de détails sur l'utilisation de la commande 'docker logs', consultez la documentation Docker.
Maintenant que tu as fini de lire Comment utiliser les conteneurs Docker, nous t'invitons à explorer davantage la catégorie Linux. Tu y trouveras d'autres articles intéressants qui élargiront tes connaissances et te tiendront informé. Ne cesse pas de lire et de découvrir plus!
Laisser un commentaire