Serveur d'impression

Premiers pas avec Docker | IT PRO – Serveur d’impression

Le 28 janvier 2020 - 9 minutes de lecture

Quiconque a essayé de créer un logiciel complexe à partir de zéro via la ligne de commande sait à quel point cela peut être difficile. Vous êtes confronté à des défis constants, comme les dépendances logicielles que vous n'avez pas installées et les incompatibilités avec les logiciels installés existants. À un moment donné, la plupart d'entre nous aspiraient à un script qui pourrait s'en occuper rapidement.

Il peut également être difficile d'exécuter de nombreux logiciels différents côte à côte. Que faire si vous souhaitez exécuter différentes versions du même programme, par exemple? Docker aide à résoudre ces problèmes.

Docker est une plate-forme logicielle qui sépare vos applications les unes des autres en les exécutant dans des compartiments dédiés appelés conteneurs. Un conteneur Docker est un peu comme une machine virtuelle (VM), car il garde son contenu séparé des autres logiciels exécutés sur une machine.

Les conteneurs diffèrent également des VM de plusieurs manières. Alors qu'une machine virtuelle héberge tout un système d'exploitation, un conteneur ne le fait pas. Les conteneurs ne s'exécutent pas non plus sur un hyperviseur de type 1 qui remplace le système d'exploitation principal de l'ordinateur, comme le font de nombreuses machines virtuelles sur serveur.

Publicité – L'article continue ci-dessous

Publicité – L'article continue ci-dessous

Au lieu de cela, les conteneurs Docker contiennent uniquement les éléments dont ils ont besoin pour exécuter un seul service logiciel, comme une base de données ou un serveur Web. Cela inclut le service lui-même, ainsi que toutes les dépendances qu'il doit exécuter, comme les bibliothèques de logiciels. Il n'y a aucun service de système d'exploitation sous-jacent dans le conteneur. Au lieu de cela, il les obtient du noyau du système d'exploitation principal de l'ordinateur hôte.

Cela rend les conteneurs Docker légers car ils nécessitent moins de stockage et de mémoire pour fonctionner. Il les rend également portables, car les développeurs ou les administrateurs peuvent les déplacer rapidement entre différentes machines tout en étant sûrs qu'ils fonctionneront toujours. Ils deviennent un outil de cloud computing populaire, ce qui facilite la collaboration entre les développeurs de logiciels et les testeurs.

Le Docker Engine est la plate-forme logicielle qui organise et exécute les conteneurs, qu'il stocke dans un format appelé libcontainer. Vous allez l'installer de manière spécifique en utilisant le système d'exploitation de votre choix. Windows a besoin de Docker Desktop, Mac a besoin de Docker pour Mac, tous deux installables en téléchargement d'applications. Une distribution Linux correctement préparée a besoin d'un simple sudo apt-get install docker-engine -y à partir de la ligne de commande.

De là, vous pouvez créer et exécuter des conteneurs Docker. Pour ce faire, vous avez d'abord besoin d'une image qui est un modèle expliquant ce qui s'y déroulera. Considérez-le comme une liste de courses qui indique à votre ordinateur tout ce dont il a besoin pour ce conteneur. Si vous souhaitez simplement exécuter une application dans un conteneur Docker, vous trouverez probablement une image appropriée dans un registre de conteneurs Docker, qui contient diverses images que les gens créent et partagent. Alors que les organisations peuvent créer leurs propres registres pour le travail interne, le plus populaire est le Docker Hub, que votre installation Docker vérifiera automatiquement.

La façon la plus simple d'exécuter une image Docker consiste simplement à la récupérer à partir du hub à l'aide de la commande run de Docker. Créons un conteneur Docker local avec un environnement de développement logiciel Python 3:

Publicité – L'article continue ci-dessous

le -il les opérateurs vous offrent un shell interactif pour le conteneur. Sans eux, il fonctionnerait et s'arrêterait sans vous laisser interagir avec. La commande finale, python: 3, est le nom du conteneur avec une balise indiquant la version souhaitée.

Étant donné que votre nouvelle installation Docker n'a pas cette image installée localement, elle la télécharge avant de l'exécuter. Ouvrez une autre fenêtre de ligne de commande et tapez docker ps -a pour montrer les conteneurs en cours d'exécution et arrêtés.

Une liste de tous les conteneurs apparaît avec leur ID et leur statut. Les ID différeront sur votre machine.

Maintenant, ouvrez une autre fenêtre de terminal pour pouvoir exécuter plus de commandes Docker tout en laissant votre conteneur en cours d'exécution. Dans cette nouvelle fenêtre, entrez statistiques de docker. Il vous dira quelles ressources ce conteneur utilise.

Publicité – L'article continue ci-dessous

Vous pouvez manipuler le conteneur à l'aide de son nom ou de son ID, que chaque machine génère au hasard. Prendre quelques lettres à l'avant de l'ID est plus simple. Par exemple, nous pouvons arrêter un conteneur avec l'ID ff0996778a5a et le nom hopeful_golick en tappant docker stop hopeful_golick ou docker stop ff09.

De retour dans votre autre fenêtre de terminal, le shell interactif Python disparaît et vous êtes de retour à l'invite de votre système. Fermez votre deuxième fenêtre de terminal et revenez à celle d'origine.

Publicité – L'article continue ci-dessous

Type docker ps -a encore. Votre conteneur est toujours là; vous venez d'arrêter de l'exécuter. Si vous souhaitez l'exécuter à nouveau, vous répétez simplement la même commande d'exécution que nous avons utilisée précédemment, et cette fois Docker exécutera votre image locale.

Maintenant, tapez images de docker. Cela répertorie les images dont tous vos conteneurs proviennent, qui devraient montrer uniquement votre image Python. Vous pouvez créer autant de nouveaux conteneurs que vous le souhaitez en utilisant cette image.

Nous allons supprimer cette image à l'aide de Docker rmi mais nous devons d'abord supprimer les conteneurs que nous avons créés avec. Tapez donc ce qui suit, en remplaçant les premières lettres de l'ID de conteneur et de l'ID d'image par les vôtres:

  • docker rm ff09
  • docker rmi d6a7

Maintenant, docker ps -a et images de docker ne devrait rien montrer. Tout est parti.

Conteneurisation d'une application

Nous venons d'utiliser ce qu'on appelle une image de base dans Docker. Il s'agit d'un conteneur utilisant uniquement une image simple et minimale du logiciel dont vous avez besoin. Souvent, cependant, vous souhaiterez personnaliser ces images. Pour ce faire, vous superposez des éléments supplémentaires et vous définissez ces éléments dans un fichier Docker. Utilisons l'une d'entre elles pour créer une application basée sur un docker (connue sous le nom de «conteneurisation» d'une application).

Publicité – L'article continue ci-dessous

Commencez par créer un fichier texte appelé Dockerfile, sans extension, dans un répertoire vide appelé convertisseur. Cela contient les commandes qui indiquent à Docker comment créer votre conteneur.

  • DE python: 3
  • WORKDIR.
  • COPIE . .
  • CMD python ./converter.py

Publicité – L'article continue ci-dessous

DE nous dit quelle image nous utilisons comme base. Nous utiliserons le même que précédemment.

WORKDIR / définit le répertoire que nous utilisons pour les fichiers de support (qui sur notre système Ubuntu est le répertoire actuel, indiqué par la marque '.'.

COPIE indique à Docker de copier tous les fichiers du répertoire de travail dans le conteneur.

CMD nous indique la commande à exécuter lors du premier démarrage du conteneur. Ici, il indique au conteneur d'exécuter un script python appelé converter.py.

Publicité – L'article continue ci-dessous

Maintenant, nous devons créer ce script. Utilisez un programme qui peut enregistrer des fichiers texte bruts sans mise en forme (Sublime Text est génial). Entrez dans ce programme:

  • print ("Bienvenue dans le convertisseur de poids")
  • #get livres
  • livres = entrée ("Entrez le nombre de livres:")
  • kilogrammes = livres * 0,45359237
  • print ("C'est kilogrammes.". format (kilogrammes))

Il s'agit d'un simple programme de conversion de poids qui s'exécutera via la ligne de commande.

Nous devons construire l'image Docker en utilisant le dockerfile, comme ça:

  • docker build -t convertisseur.

Cela indique à Docker de suivre les instructions du dockerfile. Nous le pointons vers ce fichier en listant le répertoire courant comme '.' et nous marquons également l'image résultante avec le nom convertisseur, ce qui facilite le suivi.

Publicité – L'article continue ci-dessous

Publicité – L'article continue ci-dessous

Maintenant, nous pouvons l'exécuter:

Le résultat devrait être un dialogue en ligne de commande avec votre ordinateur, qui convertira avec plaisir vos livres en kilogrammes avant de quitter.

Cet article égratigne la surface de ce que vous pouvez faire avec Docker. Vous pouvez créer des images en couches qui restent en cours d'exécution et exposent les interfaces Web sur les ports de votre choix. Vous pouvez également utiliser Docker Compose pour enchaîner des collections de conteneurs qui fonctionnent ensemble pour créer de plus grandes applications (par exemple, une application Web qui communique avec une base de données).

Pour l'instant, cependant, voici un défi: téléchargez et créez l'image de conteneur de science des données disponible à partir de Jupyter Labs, qui vous donnera non seulement une instance Python mais aussi un laboratoire de programmation complet basé sur un navigateur avec une gamme d'outils de manipulation de données. Il y a plus d'informations à ce sujet ici, et c'est une excellente prochaine étape dans votre voyage Docker.

Ressources en vedette

Perfectionner numériquement la chaîne d'approvisionnement

Comment les nouvelles technologies sont mises à profit pour transformer la chaîne d'approvisionnement manufacturière

Télécharger maintenant

Trois clés pour maximiser la migration des applications et le succès de la modernisation

Exploitez les avantages que les applications modernisées peuvent offrir

Télécharger maintenant

Votre guide de solutions cloud d'entreprise

Infrastructure conçue pour répondre aux besoins informatiques de votre entreprise pour les applications cloud de nouvelle génération

Télécharger maintenant

Les 3 approches des technologies Breach et Attack Simulation

Un guide des nuances de BAS, vous aidant à garder une longueur d'avance sur les cybercriminels

Télécharger maintenant

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.