Introduction à la mise en réseau Docker : flux de travail, principes de base de la mise en réseau, commandes de mise en réseau
Publié: 2020-04-30Table des matières
introduction
À l'ère de la virtualisation, les administrateurs réseau ne travaillent plus uniquement sur les composants réseau traditionnels tels que les routeurs, les composants LAN/WAN et les commutateurs. Ils doivent travailler sur des composants réseaux sur des plateformes de virtualisation. L'ensemble de l'industrie informatique s'intéresse au concept de conteneurisation, où de solides compétences en réseau sont essentielles.
Comme Docker est l'un des logiciels de conteneurisation les plus utilisés, les compétences en réseau de Docker sont importantes pour configurer un conteneur. À l'heure actuelle, plus de 12 000 entreprises utilisent des conteneurs Docker pour expédier leurs applications . Ces sociétés comprennent JPMorgan Chase, ThoughtWorks et Neudesic.
Dans cet article, nous allons découvrir l'introduction à Docker, les bases de la mise en réseau Docker .
Comprenons d'abord les fondamentaux de Docker.
Qu'est-ce que Docker ?
Docker est une plateforme de packaging logiciel qui a introduit le concept de conteneurisation. La conteneurisation est le processus par lequel une application logicielle est emballée avec toutes ses dépendances requises telles que les bibliothèques, les modules et le système d'exploitation. Cela rend le logiciel facilement exécutable dans n'importe quel environnement.
Ces packages logiciels sont appelés conteneurs Docker . Ces conteneurs sont utilisés pour déployer l'application pour un environnement spécifique. Il peut s'agir d'un conteneur Ubuntu, d'un conteneur CentOS, d'un conteneur Tomcat-Ubuntu ou CakePHP.

Disons qu'une application Java est créée pour être exécutée dans un environnement sur lequel un serveur Tomcat est installé. Après le développement, l'application est envoyée pour test. Les testeurs doivent reconfigurer le serveur Tomcat pour exécuter l'application. Ensuite, il sera envoyé à l'environnement de production, ce qui nécessitera à nouveau la configuration du même environnement.
Mais, un conteneur Docker contenant déjà l'environnement résoudra le problème de repartir de zéro. Ainsi, les développeurs, les testeurs et les membres de l'unité de production peuvent exécuter l'application sans configurer encore et encore le serveur Tomcat.
Lire : Idées et sujets de projet Docker
Flux de travail Docker
L'application ou le code du projet est écrit dans un fichier Docker . Ce fichier contient les exigences et les dépendances de l'application. Ce fichier produit une image Docker qui est utilisée ultérieurement pour exécuter le code dans le fichier.
Une image contient le code, les variables d'environnement, les fichiers de configuration, le temps d'exécution et les bibliothèques nécessaires pour exécuter l'application. Les images sont ensuite téléchargées sur le Docker Hub , qui est un référentiel GIT composé d'images Docker. À partir de ces référentiels, vous pouvez récupérer et télécharger vos propres images Docker.
Les membres de l'équipe d'assurance qualité ou de l'équipe de production d'une entreprise vont chercher les images pour développer leurs conteneurs. Comme tous ces conteneurs peuvent être isolés les uns des autres, la mise en réseau Docker est l'ensemble de règles par lesquelles ils interagissent les uns avec les autres.
Maintenant que vous avez une compréhension de base de Docker , examinons de plus près la mise en réseau Docker .
Lisez aussi: Salaire Docker en Inde
Bases du réseau Docker
Lors de l'installation initiale de Docker, trois réseaux Docker différents sont configurés : aucun, hôte et pont. Aucun et hôte sont des composants importants de la pile Docker et ne peuvent pas être supprimés. Le réseau de pont peut être configuré, connu sous le nom de réseau docker0.
Docker peut être utilisé pour créer de nombreux réseaux. Vous pouvez ajouter des conteneurs à plusieurs réseaux. Un conteneur attaché à plusieurs réseaux peut se connecter aux conteneurs de ces réseaux.
Les principaux pilotes réseau utilisés dans Docker sont les suivants :
Pont
Il s'agit du réseau privé par défaut créé sur l'hôte par Docker. Un sous-réseau IP et une passerelle sont automatiquement créés par ce réseau. Les conteneurs appartenant à ce réseau font partie du même sous-réseau. Ainsi, les conteneurs de ce réseau communiquent via l'adressage IP.
Les pilotes réseau Bridge sont très utiles lorsque l'application est exécutée dans un conteneur autonome. Les installations Docker représentent docker0 par défaut. Docker renverra l'objet JSON qui décrira le réseau bridge si vous tapez la commande suivante dans la console :

réseau docker inspecter le pont
Héberger
Le pilote Host est utilisé pour les conteneurs autonomes . Si le mode de mise en réseau de l'hôte est utilisé pour un conteneur, l'isolement entre l'hôte Docker et la pile réseau est supprimé. Le conteneur ne reçoit pas d'adresse IP allouée.
Par exemple, un conteneur est exécuté qui se lie au port 80 et la mise en réseau hôte est utilisée. Dans ce cas, l'application du conteneur sera disponible sur le port 80 de l'adresse IP de l'hôte. Ce mode réseau est utile lorsqu'un conteneur gère un grand nombre de ports.
De plus, le pilote d'hôte vous permet d'exécuter plusieurs conteneurs Web sur le même hôte.
Aucun
Dans ce type de réseau, les conteneurs n'ont pas accès aux réseaux externes et ne sont pas rattachés à d'autres conteneurs ou réseaux. Aucun est utilisé lorsque vous souhaitez désactiver la pile réseau sur un conteneur particulier.
Aucun n'a seulement une interface de bouclage, ce qui signifie qu'il n'y a pas d'interfaces réseau externes.
Recouvrir
Ceci est utilisé pour créer un réseau privé interne couvrant tous les nœuds du cluster swarm. Un réseau docker swarm est un groupe de machines virtuelles ou physiques qui exécutent l'application Docker. Ce pilote réseau est important dans la mise en réseau Docker car il permet la communication entre le conteneur autonome et le service Swarm.
Des conteneurs autonomes sur différents démons Docker peuvent également interagir avec ce pilote. Ainsi, vous n'avez pas besoin d'effectuer un routage au niveau du système d'exploitation pour les conteneurs.
Macvlan
Ce réseau vous permet d'attribuer une adresse MAC à un conteneur. Cela le fait apparaître comme un périphérique physique. À l'aide de cette adresse, le démon Docker achemine le trafic vers un routeur particulier. Un démon Docker est un serveur qui s'exécute sur le système d'exploitation hôte et interagit avec lui pour effectuer différentes activités. Un réseau Macvlan simplifie la communication entre conteneurs.
Macvlan est une bonne option pour gérer les applications héritées qui doivent être connectées au réseau physique. Si vous établissez un réseau Macvlan, il peut être en deux modes : le mode pont ou le mode pont tronc 802.1q.
Plugins réseau
Vous pouvez utiliser un plug-in réseau tiers avec Docker. Ces plug-ins sont disponibles sur le Docker Hub et peuvent être obtenus via des fournisseurs tiers.
Commandes de mise en réseau Docker
Les commandes réseau docker les plus courantes sont les suivantes :
Répertorier les réseaux Docker
Ce code listera tous les réseaux Docker sur l'hôte -
réseau docker ls
Créer un réseau Docker
La commande suivante vous aidera à créer un réseau avant de lancer un conteneur :
docker network create --driver nom du pilote nom du pilote
Ici, drivername est le nom donné au pilote réseau et Lister les commandes réseau
Cette commande est utilisée pour répertorier les commandes réseau disponibles :
aide réseau docker
Suppression d'un réseau
La commande rm peut être utilisée pour supprimer un réseau.
réseau docker rm mon réseau
Connexion à un réseau Docker
Lorsque vous créez un réseau Docker, il est connecté par défaut au réseau bridge. La commande suivante peut être utilisée pour se connecter à un autre réseau lorsque vous exécutez le conteneur :
conteneur docker run -it –net=mynetwork nginx
Obtention de ports à conteneurs

Vous pouvez obtenir le port du conteneur à l'aide de la commande port :
port docker cotainer_name/id
Conclusion
Docker est un aspect crucial du développement logiciel de nos jours. Alors que de plus en plus d'entreprises s'orientent vers la conteneurisation, la mise en réseau est importante pour isoler les conteneurs. Cela permet le développement d'applications Web qui fonctionnent ensemble en toute sécurité. Ces réseaux contribuent à une meilleure communication entre les conteneurs.
Docker a aidé de nombreuses entreprises à améliorer leur temps de déploiement et à réduire les coûts qui y sont associés. Donc, si vous êtes débutant, cet article vous sera utile pour vous familiariser avec les bases de la mise en réseau Docker .
Si vous souhaitez en savoir plus sur le développement de la pile complète, consultez le diplôme PG de upGrad & IIIT-B en développement de logiciels à pile complète qui est conçu pour les professionnels en activité et offre plus de 500 heures de formation rigoureuse, plus de 9 projets et missions, IIIT -B Statut d'ancien, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.