Docker pour les débutants: tout ce que vous devez savoir

Jun 15, 2025
Linux

Docker crée des applications emballées appelé conteneurs. Chaque conteneur fournit un environnement isolé similaire à un machine virtuelle (Vm). Contrairement à VMS, Conteneurs Docker Ne pas exécuter un système d'exploitation complet . Ils partagent le noyau de votre hôte et virtualisent au niveau du logiciel.

Bases de Docker

Docker est devenu un outil standard pour les développeurs de logiciels et les administrateurs système. C'est un moyen net de lancer rapidement des applications sans avoir un impact sur le reste de votre système. Vous pouvez faire une pause un nouveau service avec un seul course de docker commander.

Les conteneurs encapsulent tout ce qui est nécessaire pour exécuter une application, des dépendances du package OS à votre propre code source. Vous définissez des étapes de création d'un conteneur comme des instructions dans un Dockerfile . Docker utilise le dockerfile pour construire un image .

Les images définissent le logiciel disponible dans des conteneurs. Cela équivaut à démarrer un VM avec un système d'exploitation ISO. Si vous créez une image, aucun utilisateur Docker sera en mesure de lancer votre application avec course de docker .

Comment fonctionne Docker?

Les conteneurs utilisent des fonctionnalités de noyau du système d'exploitation pour fournir des environnements partiellement virtualisés. Il est possible de créer des conteneurs à partir de zéro avec des commandes comme chroot . Cela commence un processus avec un répertoire racine spécifié au lieu de la racine du système. Mais utiliser des caractéristiques du noyau directement est fidèle, insécurité et évacuée par erreur.

Docker est une solution complète pour la production, la distribution et l'utilisation de conteneurs. Les versions modernes Docker sont composées de plusieurs composants indépendants . Tout d'abord, il y a le docker Cli , qui est ce que vous interagissez avec votre terminal. Le CLI envoie des commandes à un Docker Démon . Cela peut fonctionner localement ou sur un hôte distant . Le démon est responsable de la gestion des conteneurs et des images qu'ils sont créées.

Le composant final s'appelle le Runtime du conteneur . L'exécution invoque des fonctionnalités du noyau pour lancer réellement des conteneurs. Docker est compatible avec des roulements qui adhèrent à la Spécification OCI. Cette norme ouverte permet une interopérabilité entre différents outils de conteneurisation.

Vous n'avez pas trop besoin de vous inquiéter des travaux intérieurs de Docker lorsque vous commencez à commencer. Installation docker Sur votre système vous donnera tout ce dont vous avez besoin pour construire et exécuter des conteneurs.

Pourquoi tant de gens utilisent-ils Docker?

Les conteneurs sont devenus si populaires car ils résolvent de nombreux défis communs dans le développement de logiciels. La capacité de contenir une fois et courir partout réduit l'écart entre votre environnement de développement et vos serveurs de production.

L'utilisation de conteneurs vous donne confiance que chaque environnement est identique. Si vous avez un nouveau membre de l'équipe, ils n'ont besoin que de course de docker mettre en place leur propre instance de développement. Lorsque vous lancez votre service, vous pouvez utiliser votre image Docker à déployer vers la production. Les environnement Cela correspondra exactement à votre instance locale, évitant "cela fonctionne sur mes machines" scénarios.

Docker est plus pratique qu'une machine virtuelle pleine soufflée. Les ordinateurs virtuels sont des outils généraux conçus pour soutenir chaque charge de travail possible. En revanche, les conteneurs sont légers, autosuffisants et mieux adaptés aux cas d'utilisation imprenable. Comme Docker partage le noyau de l'hôte, les conteneurs ont un impact négligeable sur la performance du système. Le temps de lancement du conteneur est presque instantané, car vous ne commenciez que des processus de démarrage, pas un système d'exploitation entier.

Commencer

Docker est disponible sur toutes les distributions Linux populaires. Il fonctionne également sur Windows et MacOS. Suivre la Instructions de configuration de Docker pour votre plate-forme pour le faire courir et courir.

Vous pouvez vérifier que votre installation fonctionne en démarrant un simple conteneur:

 Docker exécuter bonjour-monde 

Cela démarrera un nouveau conteneur avec la base Bonjour le monde image. L'image émet une certaine sortie expliquant comment utiliser Docker. Le conteneur sort alors, vous revenant sur votre terminal.

Création d'images

Une fois que vous avez couru Bonjour le monde Vous êtes prêt à créer vos propres images Docker. Un dockerfile explique comment exécuter votre service par Installation du logiciel requis et copier dans les fichiers. Voici un exemple simple à l'aide du serveur Web Apache:

 de httpd: Dernière
Exécuter echo "LoadModule Headers_module modules / mod_headers.so" & gt; & gt; /USR/LOCAL/APACHE2/CONF/HTTPD.CONF
Copier .htaccess /var/www/html/.htaccess
Copier index.html /var/www/html/index.html
Copier CSS / / VAR / www / html / css 

Les DE La ligne définit l'image de base. Dans ce cas, nous commençons à partir de l'image officielle Apache. Docker applique les instructions restantes de votre DockerFile au-dessus de l'image de base.

Les COURS L'étape exécute une commande dans le conteneur. Cela peut être une commande disponible dans l'environnement du conteneur. Nous permettons à la en-têtes Module Apache, qui pourrait être utilisé par le .htaccess fichier pour configurer des règles de routage.

Les lignes finales copient les fichiers HTML et CSS dans votre répertoire de travail dans l'image du conteneur. Votre image contient maintenant tout ce dont vous avez besoin pour exécuter votre site Web.

Maintenant, vous pouvez construire l'image:

 Docker Build -t My-Site Web: V1. 

Docker utilisera votre DockerFile pour construire l'image. Vous verrez la sortie dans votre terminal car Docker exécute chacune de vos instructions.

Les -t dans la commande Tags votre image avec un nom donné ( mon-site web: v1 ). Cela facilite la référence à l'avenir. Les balises ont deux composants, séparés par un côlon. La première partie définit le nom de l'image, tandis que la seconde indique généralement sa version. Si vous omettez le côlon, Docker sera par défaut utiliser dernier comme la version de la balise.

Les . À la fin de la commande indique à Docker d'utiliser le DockerFile dans votre répertoire de travail local. Ça aussi Définit le contexte de construction , vous permettant d'utiliser des fichiers et des dossiers dans votre répertoire de travail avec COPIE instructions dans votre dockerfile.

Une fois que vous avez créé votre image, vous pouvez démarrer un conteneur en utilisant course de docker :

 Docker Run -D -P 8080: 80 My-Site: V1 

Nous utilisons quelques drapeaux supplémentaires avec course de docker ici. Les -ré Le drapeau fait du docker cli détacher du conteneur, ce qui lui permet de fonctionner à l'arrière-plan. Un mappage de port est défini avec -p , SO Port 8080 sur vos cartes d'hôte sur le port 80 dans le conteneur. Vous devriez voir votre page Web si vous visitez Localhost: 8080 dans votre navigateur.

Les images Docker sont formées à partir de couches. Chaque instruction de votre DockerFile crée une nouvelle couche. Vous pouvez utiliser des fonctionnalités de construction avancées pour Référence Plusieurs images de base , jetant des couches intermédiaires d'images antérieures.

Registres d'image

Une fois que vous avez une image, vous pouvez le repousser dans un registre. Registres fournir un stockage centralisé afin que vous puissiez partager des conteneurs avec d'autres. Le registre par défaut est Hub docker .

Lorsque vous exécutez une commande qui fait référence à une image, Docker vérifie d'abord s'il est disponible localement. Si ce n'est pas le cas, cela essaiera de le tirer de Docker Hub. Vous pouvez tirer manuellement des images avec le docker tirer commander:

 Docker Pull httpd: Dernier 

Si vous voulez publier une image, créez un Hub docker Compte. Courir Docker Login et entrez votre nom d'utilisateur et votre mot de passe.

Ensuite, taglez votre image en utilisant votre nom d'utilisateur de Hub Docker:

 Docker Tag My-Image: Derniers nom d'utilisateur Docker-hub / My-Image: Dernier 

Maintenant, vous pouvez pousser votre image:

 Docker Push Docker-Hub-Nom d'utilisateur / My-Image: Dernier 

D'autres utilisateurs pourront tirer votre image et démarrer des conteneurs avec.

Vous pouvez gérer votre propre registre Si vous avez besoin de stockage d'images privé. Plusieurs services tiers également Offrir des registres Docker comme alternatives à Docker Hub.

Gestion de vos conteneurs

Le Docker CLI a plusieurs commandes pour vous permettre de gérer vos conteneurs en cours d'exécution. Voici quelques-unes des plus utiles à savoir ceux:

liste des conteneurs

docker ps Des spectacles tous vos conteneurs en cours d'exécution. Ajout de la -une drapeau montrera récipients bouchés aussi.

Arrêt et démarrage des conteneurs

Pour arrêter un conteneur, exécutez docker arrêter mon conteneur . Remplacer mon conteneur avec le nom ou l'ID du conteneur. Vous pouvez obtenir ces informations de la ps commander. Récipient arrêté est redémarré avec docker commencer mon conteneur .

Les conteneurs fonctionnent généralement aussi longtemps que leurs principaux séjours de processus vivants. Redémarrez les politiques contrôler ce qui se passe lorsqu'un conteneur arrête ou redémarre hôte. Passe --restart toujours à course de docker pour faire un redémarrage du conteneur immédiatement après son arrêt.

Obtenir un Shell

Vous pouvez exécuter une commande en un conteneur en utilisant docker exec mon conteneur my-commande . Ceci est utile lorsque vous voulez manuellement Invoke un exécutable qui se séparent pour ce processus principal du conteneur.

Ajouter le -ce drapeau si vous avez besoin un accès interactif. Cela vous permet de tomber dans une coque en exécutant docker exec mon conteneur -it sh .

journaux de surveillance

Docker recueille automatiquement sortie émis à l'entrée standard et de sortie d'un conteneur. Les docker enregistre mon conteneur commande affichera les journaux d'un conteneur à l'intérieur de votre terminal. Les --suivre jeux de drapeau un flux continu de sorte que vous pouvez afficher les journaux en temps réel.

Nettoyage Ressources Up

conteneurs anciens et les images peuvent rapidement accumuler sur votre système. Utilisation docker rm mon conteneur supprimer un conteneur par son ID ou le nom.

La commande des images est docker rmi mon image: dernière . Passer le nom de l'étiquette ID ou complet de l'image. Si vous spécifiez une étiquette, l'image ne sera pas supprimé jusqu'à ce qu'il n'a pas plus de balises affectées. Dans le cas contraire, l'étiquette donnée sera supprimé, mais d'autres balises de l'image restent utilisables.

nettoyages en vrac sont possibles en utilisant la pruneau docker commander . Cela vous donne un moyen facile de retirer tous les conteneurs et les images redondantes arrêtés.

gestion graphique

Si le terminal est pas votre truc, vous pouvez utiliser des outils tiers pour configurer une interface graphique pour Docker . tableaux de bord Web vous permettent de surveiller rapidement et de gérer votre installation. Ils ont également vous aider à prendre le contrôle à distance de vos conteneurs.

Stockage de données persistantes

conteneurs Docker sont éphémères par défaut. Les modifications apportées au système de fichiers d'un conteneur ne persistera après que le récipient s'arrête. Ce n'est pas sûr exécuter toute forme de système de stockage de fichiers dans un récipient commencé avec une base course de docker commander.

Il y a quelques approches différentes pour la gestion des données persistantes . La plus courante est d'utiliser un volume Docker. Les volumes sont des unités de stockage qui sont montés dans des systèmes de fichiers de conteneur. Toutes les données dans un volume restent intactes après ses arrêts de conteneurs liés, vous permettant de connecter un autre conteneur à l'avenir.

Le maintien de la sécurité

les charges de travail Dockerized peuvent être plus sûrs que leurs homologues métalliques nus, comme Docker offre une certaine séparation entre le système d'exploitation et vos services. Néanmoins, Docker est un problème de sécurité potentiel, comme normalement fonctionne comme racine et pourrait être exploitée pour exécuter des logiciels malveillants.

Si vous ne diffusez Docker comme outil de développement, l'installation par défaut est généralement sûr à utiliser. Les serveurs de production et machines avec une prise de démon exposé réseau endurcir avant d'aller vivre.

Auditer votre installation Docker d'identifier les problèmes de sécurité potentiels. Il y a outils automatisés disponibles Cela peut vous aider à trouver des faiblesses et suggérer des résolutions. Vous pouvez également Scanner des images de conteneur individuelles pour les problèmes qui pourraient être exploités de l'intérieur.

Travailler avec plusieurs conteneurs

Les docker La commande fonctionne uniquement avec un conteneur à la fois. Vous voudrez souvent utiliser des conteneurs dans l'agrégat. Docker Compose est un outil qui vous permet de définir vos conteneurs de manière déclarée dans un fichier YAML. Vous pouvez les démarrer avec une seule commande.

Ceci est utile lorsque votre projet dépend d'autres services, tels qu'un backend Web qui s'appuie sur un serveur de base de données. Vous pouvez définir les deux conteneurs dans votre docker-compose.yml et bénéficier d'une gestion rationalisée avec réseau automatique .

Voici un simple docker-compose.yml déposer:

 Version: "3"
prestations de service:
  App:
    Image: App-Server: Dernier
    Ports:
      - 8000: 80
  base de données:
    Image: Base de données-Server: Dernières
    Volumes:
        - Données de base de données: / Données
Volumes:
    Données de base de données: 

Cela définit deux conteneurs ( app et base de données ). Un volume est créé pour la base de données. Ceci est monté sur /Les données dans le conteneur. Le port de l'App Server 80 est exposé 8000 sur l'hôte. Courir Docker-Compose Up -D Pour faire tourner les deux services, y compris le réseau et le volume.

L'utilisation de Docker Compose vous permet écrire réutilisable Définitions de conteneurs que vous pouvez partager avec d'autres. Vous pourriez commettre un docker-compose.yml dans votre contrôle de version au lieu d'avoir les développeurs mémorisent course de docker commandes.

Il existe également d'autres approches pour exécuter plusieurs conteneurs. L'application Docker est une solution émergente qui fournit un autre niveau d'abstraction. Ailleurs dans l'écosystème, Podman est une alternative Docker Cela vous permet de créer des "pods" de conteneurs dans votre terminal.

Conteneur orchestration

Docker n'est normalement pas exécuté comme en production. Il est maintenant plus courant d'utiliser une plate-forme d'orchestration telle que Kubettes ou le mode Swarm Docker. Ces outils sont conçus pour gérer multiples répliques de conteneurs, qui améliore l'évolutivité et la fiabilité.

Docker n'est qu'un composant dans le mouvement de conteneur plus large. Orchestrateurs Utiliser le même Technologies de conteneur d'exécution pour fournir un environnement meilleur pour la production. Utiliser plusieurs instances de conteneur Permet de roulement de mises à jour ainsi que la distribution entre les machines, rendre votre déploiement plus résilient pour changer et basculer. Le régulier docker CLI cible un hôte et fonctionne avec des conteneurs individuels.

Une plate-forme puissante pour les conteneurs

Docker vous donne tout ce dont vous avez besoin pour travailler avec des conteneurs. Il est devenu un outil clé pour le développement de logiciels et l'administration du système. Les principaux avantages sont une augmentation de l'isolement et de la portabilité pour les services individuels.

Se familiariser avec Docker nécessite une compréhension des concepts de base du conteneur et d'image. Vous pouvez les appliquer pour créer vos images et vos environnements spécialisés contenant vos charges de travail.


Linux - Most Popular Articles

Comment installer Signal Desktop sur Linux

Linux Jan 22, 2025

Eliseu Geisler / Shutterstock.com [dix] Signal est L'application de messagerie smartphone axée sur la vie privée Tout le monde semble uti..


Comment utiliser la commande FSCK sur Linux

Linux Aug 18, 2025

Pixza Studio / Shutterstock [dix] Toutes nos données importantes sont situées dans un système de fichiers d'un type ou d'un autre, et les problèmes de sy..


Comment faire rouler le noyau sous Linux

Linux Sep 30, 2025

Fatmawati Achmad Zaenuri / Shutterstock.com [dix] Si votre PC Linux a soudainement des problèmes après une mise à jour de votre système, c'est possibl..


Comment installer Linux sur un Mac avec M1 d'Apple Silicon

Linux Nov 11, 2024

Prise en charge de Linux natif pour la nouvelle architecture Bras d'Apple n'est pas encore prête, mais vous pouvez exécuter Linux sur un M1 , M1 pro, ou m1 max à l'aide d'un ..


Comment ajouter un utilisateur au fichier sudoers dans Linux

Linux Oct 30, 2025

Si un Sudo La commande sur Linux vous donne un message selon lequel un utilisateur «n'est pas dans le fichier sudoers», vous devrez obtenir la liste des «sudoers». Nous allons pa..


Comment gérer les espaces dans les noms de fichiers sur Linux

Linux Dec 14, 2024

Comme la plupart des systèmes d'exploitation, Linux prend en charge les noms de fichiers avec des espaces. Mais l'utilisation de ces noms de fichiers sur la ligne de commande n'est pas toujour..


Comment définir une adresse IP statique dans Ubuntu

Linux Oct 17, 2025

Votre réseau domestique s'appuie sur les adresses IP pour acheminer les données entre les appareils, et parfois la reconnexion au réseau, une adresse d'un appareil peut changer. Voici commen..


10 exemples utiles de la commande Linux RSync

Linux Oct 24, 2025

Le linux rsync La commande est un puissant outil de copie de fichiers et de synchronisation des dossiers. Voici dix cas d'utilisation courants que vous pourrez utiliser à bon escien..


Catégories