Qu'est-ce que Docker ?
Docker est un outil qui vous permet de créer, de déployer et de gérer des packages légers et autonomes contenant tout le nécessaire pour exécuter une application (code, bibliothèques, environnement d'exécution, paramètres système et dépendances). Ces packages sont appelés conteneurs.
Chaque conteneur est déployé avec son propre processeur, sa mémoire, ses E/S de bloc et ses ressources réseau, le tout sans avoir à dépendre d'un noyau et d'un système d'exploitation individuels. Bien qu'il puisse être plus facile de comparer Docker et les machines virtuelles, ils diffèrent dans la manière dont ils partagent ou dédient des ressources.
Les conteneurs aident à étendre les fonctionnalités de votre Linode de plusieurs façons. Par exemple, vous pouvez déployer plusieurs instances de nginx avec plusieurs étapes (telles que le développement et la production). Contrairement au déploiement de plusieurs machines virtuelles, les conteneurs déployés ne taxeront pas les ressources de votre Linode.
Images Docker
Chaque conteneur Docker est créé à partir d'une image. Vous extrayez des images d'un registre Docker (tel que le hub officiel Docker) et les utilisez pour créer des conteneurs. Une seule image peut créer de nombreux conteneurs. Par exemple, vous pouvez utiliser la dernière image nginx pour déployer un conteneur de serveur Web pour :
- Opérations de développement Web
- Test
- Fabrication
- Applications Web
Fichiers Docker
Un Dockerfile
est un fichier texte qui contient les commandes nécessaires pour assembler une image. Une fois qu'un Dockerfile est écrit, l'administrateur utilise le docker build
commande pour créer une image basée sur les commandes du fichier. Les commandes et informations contenues dans le Dockerfile
peut être configuré pour utiliser des versions logicielles et des dépendances spécifiques afin de garantir des déploiements cohérents et stables.
Un Dockerfile utilise les commandes suivantes pour créer les images :
- AJOUTER - copier les fichiers d'une source sur l'hôte vers le propre système de fichiers du conteneur à la destination définie.
- CMD - exécuter une commande spécifique dans le conteneur.
- POINT D'ENTRÉE - définir une application par défaut à utiliser chaque fois qu'un conteneur est créé avec l'image.
- ENV - définir des variables d'environnement.
- EXPOSER - exposer un port spécifique pour permettre la mise en réseau entre le conteneur et le monde extérieur.
- DE - définir l'image de base utilisée pour démarrer le processus de construction.
- MAINTENEUR - définir le nom complet et l'adresse e-mail du créateur de l'image.
- EXÉCUTER - directive d'exécution centrale pour Dockerfiles.
- UTILISATEUR - définissez l'UID (le nom d'utilisateur) qui exécutera le conteneur.
- VOLUME - autoriser l'accès depuis le conteneur à un répertoire sur la machine hôte.
- REPERTOIRE - définir le chemin où la commande, définie avec CMD, doit être exécutée.
Toutes les commandes ne doivent pas être utilisées. Vous trouverez ci-dessous un exemple de travail Dockerfile, utilisant uniquement le MAINTAINER
, FROM
, et RUN
commandes :
- Fichier :Dockerfile
1 2 3
MAINTAINER NAME EMAIL FROM ubuntu:latest RUN apt-get -y update && apt-get -y upgrade && apt-get install -y build-essential
Docker Swarm
Docker facilite la réunion de serveurs pour former un cluster, appelé Docker Swarm. Une fois que vous avez créé un responsable Swarm ou un leader , et des nœuds attachés au leader, vous pouvez faire évoluer le déploiement du conteneur. Le leader adaptera automatiquement le cluster en ajoutant ou en supprimant des tâches pour maintenir un état souhaité.
Un nœud est une instance unique du moteur Docker qui participe au Swarm. Vous pouvez exécuter un ou plusieurs nœuds sur un seul Linode. Le gestionnaire Swarm utilise l'équilibrage de charge d'entrée pour exposer les services qui peuvent être mis à la disposition du Swarm. Docker Swarm peut également :
- Vérifiez l'état de vos conteneurs.
- Lancer un ensemble fixe de conteneurs à partir d'une seule image Docker.
- Augmentez ou diminuez le nombre de conteneurs (en fonction de la charge actuelle).
- Effectuer des mises à jour progressives sur tous les conteneurs
- Assurer la redondance et le basculement.
- Ajouter ou soustraire des itérations de conteneur à mesure que les demandes changent.
Étapes suivantes
Pour explorer davantage Docker, consultez notre référence rapide Docker, notre guide sur le déploiement d'un serveur Web Node.js ou le guide LinodeComment installer Docker et déployer une pile LAMP.
Plus d'informations
Vous pouvez consulter les ressources suivantes pour plus d'informations sur ce sujet. Bien que ceux-ci soient fournis dans l'espoir qu'ils seront utiles, veuillez noter que nous ne pouvons pas garantir l'exactitude ou l'actualité des documents hébergés en externe.
- Documents Docker
- Didacticiel d'essai de Docker
- Centre Docker