J'espère que vous n'avez pas manqué la série des blogs précédents du didacticiel DevOps. Parcourir le Ici.La tendance incontrôlable des conteneurs Docker se développe et les organisations recherchent des professionnels possédant .Maintenant, cette fois, nous allons vous présenter une introduction à Docker.
Tutoriel Docker
Ce blog du tutoriel Docker vous donnera une exposition conceptuelle et pratique à Docker - Une nouvelle technologie de conteneurisation d'âge.
Dans ce blog, nous nous concentrerons sur les sujets ci-dessous:
- Qu'est-ce que la virtualisation?
- Qu'est-ce que la conteneurisation
- Avantages de la conteneurisation par rapport à la virtualisation
- Introduction à Docker
- Avantages de Docker
- Virtualisation vs conteneurisation
- Installation de Docker
- Dockerfile, Docker Image et conteneur Docker
- Qu'est-ce que Docker Hub?
- Architecture Docker
- Docker Compose
Docker gagne en popularité et son utilisation se répand comme une traînée de poudre. La popularité croissante de Docker est due à la mesure dans laquelle il peut être utilisé dans une organisation informatique. Très peu d'outils ont la fonctionnalité pour se trouver utiles à la fois aux développeurs et aux administrateurs système. Docker est l'un de ces outils qui tient vraiment sa promesse de Construire , Navire et Courir .
En termes simples, Docker est une plate-forme de conteneurisation logicielle, ce qui signifie que vous pouvez créer votre application, la conditionner avec leurs dépendances dans un conteneur, puis ces conteneurs peuvent être facilement expédiés pour s'exécuter sur d'autres machines.
Par exemple: Considérons une application basée sur Linux qui a été écrite à la fois en Ruby et Python. Cette application nécessite une version spécifique de linux, Ruby et Python. Afin d'éviter tout conflit de version du côté de l'utilisateur, un conteneur de docker Linux peut être créé avec les versions requises de Ruby et Python installées avec l'application. Désormais, les utilisateurs finaux peuvent utiliser l'application facilement en exécutant ce conteneur sans se soucier des dépendances ou des conflits de version.
Ces conteneurs utilisent la conteneurisation qui peut être considérée comme une version évoluée de la virtualisation. La même tâche peut également être réalisée à l'aide de machines virtuelles, mais elle n'est pas très efficace.
Je reçois généralement une question à ce stade, c'est-à-dire quelle est la différence entre la virtualisation et la conteneurisation? Ces deux termes sont très similaires. Alors, laissez-moi d'abord vous dire Qu'est-ce que la virtualisation?
Qu'est-ce que la virtualisation?
La virtualisation est la technique qui consiste à importer un système d'exploitation invité par-dessus un système d'exploitation hôte. Cette technique a été une révélation au début car elle permettait aux développeurs d'exécuter plusieurs systèmes d'exploitation dans différentes machines virtuelles, toutes fonctionnant sur le même hôte. Cela a éliminé le besoin de ressources matérielles supplémentaires. Les avantages des machines virtuelles ou de la virtualisation sont:
- Plusieurs systèmes d'exploitation peuvent fonctionner sur la même machine
- La maintenance et la récupération étaient faciles en cas de conditions de panne
- Le coût total de possession était également moindre en raison de la réduction des besoins d'infrastructure
Dans le diagramme de droite, vous pouvez voir qu'il existe un système d'exploitation hôte sur lequel sont exécutés 3 systèmes d'exploitation invités qui ne sont rien d'autre que les machines virtuelles.
Comme vous savez que rien n'est parfait, la virtualisation présente également quelques lacunes. L'exécution de plusieurs machines virtuelles dans le même système d'exploitation hôte entraîne une dégradation des performances. Cela est dû au fait que le système d'exploitation invité s'exécute au-dessus du système d'exploitation hôte, qui aura son propre noyau et un ensemble de bibliothèques et de dépendances. Cela prend une grande partie des ressources système, c'est-à-dire le disque dur, le processeur et surtout la RAM.
Un autre problème avec les machines virtuelles qui utilisent la virtualisation est que le démarrage prend presque une minute.Ceci est très critique dans le cas d'applications en temps réel.
numéro de fibonacci c ++
Voici les inconvénients de la virtualisation:
- L'exécution de plusieurs machines virtuelles entraîne des performances instables
- Les hyperviseurs ne sont pas aussi efficaces que le système d'exploitation hôte
- Le processus de démarrage est long et prend du temps
Ces inconvénients ont conduit à l'émergence d'une nouvelle technique appelée conteneurisation. Maintenant, laissez-moi vous parler de la conteneurisation.
Qu'est-ce que la conteneurisation?
La conteneurisation est la technique qui consiste à amener la virtualisation au niveau du système d'exploitation. Alors que la virtualisation apporte l'abstraction au matériel, la conteneurisation apporte l'abstraction au système d'exploitation. Notez que la conteneurisation est également un type de virtualisation. La conteneurisation est cependant plus efficace car il n'y a pas de système d'exploitation invité ici et utilise le système d'exploitation d'un hôte, partage les bibliothèques et les ressources pertinentes au fur et à mesure des besoins, contrairement aux machines virtuelles. Les binaires et bibliothèques de conteneurs spécifiques à l'application s'exécutent sur le noyau hôte, ce qui rend le traitement et l'exécution très rapides. Même le démarrage d'un conteneur ne prend qu'une fraction de seconde. Parce que tous les conteneurs partagent, hébergent le système d'exploitation et ne contiennent que les binaires et bibliothèques liés à l'application. Ils sont légers et plus rapides que les machines virtuelles.
Avantages de la conteneurisation par rapport à la virtualisation:
- Les conteneurs sur le même noyau du système d'exploitation sont plus légers et plus petits
- Meilleure utilisation des ressources par rapport aux VM
- Le processus de démarrage est court et prend quelques secondes
Dans le diagramme de droite, vous pouvez voir qu'il existe un système d'exploitation hôte qui est partagé par tous les conteneurs. Les conteneurs ne contiennent que des bibliothèques spécifiques à une application qui sont séparées pour chaque conteneur et elles sont plus rapides et ne gaspillent aucune ressource.
Tous ces conteneurs sont gérés par la couche de conteneurisation qui n'est pas native du système d'exploitation hôte. Par conséquent, un logiciel est nécessaire, qui peut vous permettre de créer et d'exécuter des conteneurs sur votre système d'exploitation hôte.
Consultez cette vidéo du didacticiel Docker pour une compréhension approfondie de Docker.
Tutoriel Docker pour les débutants | Qu'est-ce que Docker? | Outils DevOps | Edureka
Maintenant, laissez-moi vous présenter l'introduction à Docker.
Tutoriel Docker - Introduction à Docker
Docker est une plate-forme de conteneurisation qui regroupe votre application et toutes ses dépendances sous la forme de conteneurs pour garantir que votre application fonctionne de manière transparente dans n'importe quel environnement.
Comme vous pouvez le voir dans le diagramme de droite, chaque application s'exécutera sur un conteneur séparé et disposera de son propre ensemble de bibliothèques et de dépendances. Cela garantit également qu'il existe une isolation au niveau du processus, ce qui signifie que chaque application est indépendante des autres applications, ce qui garantit aux développeurs qu'ils peuvent créer des applications qui n'interféreront pas les unes avec les autres.
En tant que développeur, je peux créer un conteneur sur lequel différentes applications sont installées et le donner à mon équipe de contrôle qualité qui n'aura besoin que d'exécuter le conteneur pour répliquer l'environnement de développement.
Avantages de Docker
Désormais, l'équipe d'assurance qualité n'a pas besoin d'installer tous les logiciels et applications dépendants pour tester le code, ce qui leur permet d'économiser beaucoup de temps et d'énergie. Cela garantit également que l'environnement de travail est cohérent pour toutes les personnes impliquées dans le processus, du développement au déploiement. Le nombre de systèmes peut être augmenté facilement et le code peut être déployé sur eux sans effort.
Virtualisation vs conteneurisation
La virtualisation et la conteneurisation vous permettent d'exécuter plusieurs systèmes d'exploitation à l'intérieur d'une machine hôte.
La virtualisation consiste à créer de nombreux systèmes d'exploitation sur une seule machine hôte. La conteneurisation, en revanche, créera plusieurs conteneurs pour chaque type d'application selon les besoins.
Figure: Qu'est-ce que Big Data Analytics - Virtualisation versus conteneurisation
Comme nous pouvons le voir sur l'image, la principale différence est qu'il existe plusieurs systèmes d'exploitation invités dans la virtualisation qui sont absents dans la conteneurisation. La meilleure partie de la conteneurisation est qu'elle est très légère par rapport à la virtualisation lourde.
Maintenant, installons Docker.
Installez Docker:
J'installerai Docker sur ma machine Ubuntu 17.10. Voici les étapes pour installer Docker:
- Installer les packages requis
- Configurer le référentiel Docker
- Installez Docker sur Ubuntu
1. Installez les packages requis:
Il existe certains packages dont vous avez besoin dans votre système pour installer Docker. Exécutez la commande ci-dessous pour installer ces packages.
sudo apt-get install curl apt-transport-https ca-certificates software-properties-common
2. Configurez le référentiel Docker:
Maintenant, importez la clé GPG officielle de Dockers pour vérifier la signature des packages avant de les installer avec apt-get. Exécutez la commande ci-dessous sur le terminal:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key ajouter
Maintenant, ajoutez le référentiel Docker sur votre système Ubuntu qui contient les packages Docker y compris ses dépendances, pour cela, exécutez la commande ci-dessous:
sudo add-apt-repository 'deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) stable'
3. Installez Docker sur Ubuntu:
Vous devez maintenant mettre à niveau apt index et installer l'édition communautaire Docker, pour cela, exécutez les commandes ci-dessous:
sudo apt-get mise à jour sudo apt-get install docker-ce
Toutes nos félicitations! Vous avez correctement installé Docker. Découvrez également quelques-uns des Commandes Docker .
Voyons maintenant quelques concepts importants de Docker.
Dockerfile, Docker Image et Docker Container:
- Une image Docker est créée par la séquence de commandes écrites dans un fichier appelé Dockerfile.
- Lorsque ce Dockerfile est exécuté à l'aide d'une commande docker, il en résulte une image Docker avec un nom.
- Lorsque cette image est exécutée par la commande «docker run», elle démarrera d'elle-même toute application ou service qu'elle doit démarrer lors de son exécution.
Docker Hub:
Docker Hub est comme GitHub pour les images Docker. Il s'agit essentiellement d'un registre cloud dans lequel vous pouvez trouver des images Docker téléchargées par différentes communautés.Vous pouvez également développer votre propre image et la télécharger sur Docker Hub, mais vous devez d'abord créer un compte sur DockerHub.
Architecture Docker:
Il se compose d'un Docker Engine qui est une application client-serveur avec trois composants principaux:
- Un serveur qui est un type de programme de longue durée appelé processus démon (la commande docker).
- Une API REST qui spécifie les interfaces que les programmes peuvent utiliser pour parler au démon et lui indiquer quoi faire.
- Un client d'interface de ligne de commande (CLI) (la commande docker).
- La CLI utilise l'API Docker REST pour contrôler ou interagir avec le démon Docker via des scripts ou des commandes CLI directes. De nombreuses autres applications Docker utilisent l'API et la CLI sous-jacentes.
Référez-vous à ce blog, pour en savoir plus sur .
Enfin, dans ce blog du tutoriel Docker, je parlerai de Docker Compose.
Docker Compose:
Docker Compose est essentiellement utilisé pour exécuter plusieurs conteneurs Docker en tant que serveur unique. Laisse moi te donner un exemple:
Supposons que j'ai une application qui nécessite WordPress, Maria DB et PHP MyAdmin. Je peux créer un fichier qui démarrerait les deux conteneurs en tant que service sans avoir besoin de démarrer chacun séparément. C'est vraiment utile surtout si vous avez une architecture de microservices.
à quoi sert nagios
Référez mon blog sur Conteneur Docker pour comprendre comment l'exécuter pratiquement.
Avec cela, nous arrivons à la fin du premier blog du didacticiel Docker sur l'introduction à Docker et la conteneurisation.
Parcourez notre prochain blog sur Docker:
Maintenant que vous avez compris ce qu'est DevOps, consultez notre par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation à la certification Edureka DevOps aide les apprenants à acquérir une expertise dans divers processus et outils DevOps tels que Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack et GIT pour l'automatisation de plusieurs étapes dans SDLC.
Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires et nous vous recontacterons.