Article
· Sept 6, 2023 10m de lecture

Introduction à Docker

Salut la communauté

Dans cet article, nous allons apprendre les sujets ci-dessous répertoriés ci-dessous :

  1. Qu'est-ce que Docker ?
  2. Certains des avantages de Docker
  3. Comment fonctionne Docker ?
  4. Image Docker
  5. Conteneur Docker
  6. Dépôt d'images Docker
  7. Dépôt d'images Docker d'InterSystems
  8. Installation de Docker
  9. Commandes de base de Docker
  10. Exécution de l'édition communautaire IRIS à l'aide de Docker
  11. Interface graphique du bureau Docker

Alors commençons.


1. Qu’est-ce que Docker ?

A beginner’s guide to Docker — how to create your first Docker application

Docker est un logiciel de virtualisation qui facilite le développement et le déploiement d'applications. Docker fait cela en empaquetant l'application dans ce qu'on appelle un conteneur qui conserve tout ce dont l'application a besoin pour s'exécuter, y compris le code réel de l'application, ses bibliothèques et dépendances, le temps d'exécution et la configuration de l'environnement.

Docker est une plateforme de conteneurisation qui permet aux développeurs de créer, déployer et exécuter des applications dans un environnement conteneurisé. Docker fournit un moyen de regrouper une application et ses dépendances dans un seul conteneur qui peut être exécuté sur n'importe quelle machine prenant en charge Docker. Cela facilite la création d’applications portables et légères qui peuvent être déployées rapidement et sans effort.


2. Certains des avantages de Docker

Vous trouverez ci-dessous certains des avantages de l’utilisation de Docker :

  • Portabilité
    • les conteneurs Docker peuvent être exécutés sur n'importe quelle machine prenant en charge Docker, ce qui facilite le déploiement d'applications dans différents environnements.
  • Cohérence
    • en regroupant une application et ses dépendances dans un conteneur, Docker garantit que l'application s'exécutera de manière cohérente, quelle que soit l'infrastructure sous-jacente.
  • Évolutivité
    • Docker facilite la mise à l'échelle des applications horizontalement en exécutant plusieurs instances du même conteneur.
  • Efficacité des ressources
    • les conteneurs Docker sont légers et nécessitent un minimum de ressources, ce qui les rend idéaux pour une exécution sur une infrastructure cloud.
  • Securité
    • Docker fournit un environnement sécurisé et isolé pour l'exécution des applications, réduisant ainsi le risque de conflits avec d'autres applications ou avec le système hôte.

 

3. Comment fonctionne Docker ?

Docker crée un environnement virtualisé pour une application appelée conteneur. Un conteneur est un package léger, autonome et exécutable qui intègre tout ce dont vous avez besoin pour exécuter l'application, y compris le code, les bibliothèques et les dépendances. Les conteneurs sont isolés du système hôte. Par conséquent, ils peuvent s’exécuter sur n’importe quelle machine prenant en charge Docker, quel que soit le système d’exploitation ou le matériel sous-jacent.

Les conteneurs sont créés à partir d'images qui sont des modèles en lecture seule qui définissent l'application et ses dépendances. Ces images sont stockées dans un référentiel central, appelé registre, tel que Docker Hub ou un registre privé. Les développeurs peuvent créer eux-mêmes des images personnalisées ou utiliser des images prédéfinies à partir du registre.

Lorsqu'un conteneur est lancé, il est construit à partir d'une image et doté de son propre système de fichiers, réseau et espace de processus isolés. Le conteneur peut alors exécuter l'application comme si elle s'exécutait sur un serveur dédié.

 

4. Les Images Docker

Une image Docker est un package léger, autonome et exécutable qui conserve tout ce qui est nécessaire pour exécuter une application, y compris le code, les bibliothèques et les dépendances. Les images Docker sont utilisées pour créer et exécuter des conteneurs, qui sont des environnements isolés pouvant être utilisés pour exécuter des applications.

Les images Docker sont créées à partir d'un Dockerfile, qui est un fichier texte contenant un ensemble d'instructions pour créer l'image. Le Dockerfile spécifie l'image de base, le code de l'application et ses dépendances, les variables d'environnement et d'autres options de configuration nécessaires à la création de l'image.

Les images Docker sont stockées dans un registre, tel que Docker Hub ou privé. Chaque fois qu'un conteneur est créé à partir d'une image, il s'exécute en tant que processus distinct sur la machine hôte, isolé des autres processus et conteneurs.

Les images Docker peuvent être utilisées pour déployer des applications de manière cohérente sur différentes plates-formes. Ils facilitent l'empaquetage, la distribution et le déploiement d'applications et garantissent qu'elles fonctionnent de la même manière partout.

 

5. Les conteneurs Docker

Une instance en cours d'exécution d'une image est un conteneur qui, comme mentionné ci-dessus, est un package léger, autonome et exécutable qui comprend tout ce dont vous avez besoin pour exécuter une application, y compris le code, les bibliothèques et les dépendances.

Un conteneur Docker fournit un environnement isolé pour exécuter une application, garantissant qu'elle dispose de toutes les ressources dont elle a besoin pour s'exécuter correctement. Chaque conteneur s'exécute comme un processus distinct sur la machine hôte et possède son propre système de fichiers, son réseau et d'autres ressources.

Les conteneurs Docker sont conçus pour être portables et faciles à déployer. Ils peuvent être exécutés sur n’importe quelle machine sur laquelle Docker est installé, quel que soit le système d’exploitation ou le matériel sous-jacent. Les conteneurs fournissent un environnement cohérent pour l'exécution des applications, ce qui facilite le déplacement d'applications entre différents environnements, tels que le développement, les tests et la production.

Les conteneurs Docker peuvent être gérés à l'aide de Docker CLI ou d'outils Docker tels que Docker Compose ou Kubernetes. Ils peuvent être démarrés, arrêtés, mis en pause et redémarrés selon les besoins. Ils peuvent également être surveillés et gérés à l’aide d’une gamme d’outils et de plateformes.

Dans l'ensemble, les conteneurs Docker offrent un moyen flexible et évolutif de regrouper et de déployer des applications, ce qui simplifie la gestion et la mise à l'échelle d'applications complexes sur différents environnements et plates-formes.

 

6. Référentiel d'images Docker

Docker héberge l'un des plus grands référentiels Docker, appelé Docker Hub. 

Il s'agit d'un système de stockage et de distribution d'images Docker. Il fournit un référentiel central permettant aux développeurs et aux organisations de partager et de distribuer leurs images Docker, ce qui rend plus agréable la création, le partage et le déploiement d'applications avec Docker.

Docker Hub permet aux utilisateurs et aux organisations de stocker et de gérer leurs images Docker et fournit également des fonctionnalités telles que la gestion des versions, le balisage et la collaboration. Les utilisateurs peuvent rechercher et télécharger des images depuis Docker Hub, ainsi que publier leurs propres images dans le registre.

En plus du registre public, Docker Hub fournit un registre privé pour les organisations qui souhaitent gérer leurs propres images Docker et garantir qu'elles ne sont accessibles qu'aux utilisateurs autorisés.

 

 

7. Dépôt d'images Docker InterSystems

En utilisant la fonction de recherche Docker Hub, nous pouvons trouver des images InterSystems sur Docker Hub.

 

8. Installation de Docker

Pour utiliser Docker, nous devons l'installer sur notre système. Docker fournit des packages d'installation pour divers systèmes d'exploitation, notamment Windows, macOS et Linux.
Naviguer vers le site Docker.  Nous pouvons télécharger le package d'installation à partir du site Web Docker, exécuter le programme d'installation et suivre les invites pour terminer l'installation.

Après avoir installé Docker Desktop, nous pouvons utiliser la Docker CLI (Command Line Interface) pour gérer les images Docker, les conteneurs, les réseaux et d'autres ressources.

 

9. Commandes de base de Docker 

Ici, nous passerons en revue certaines des commandes de base de Docker CLI. (Assurez-vous d'exécuter Docker Desktop avant d'utiliser les commandes détaillées ci-dessous

9.1 Lister les images (en local)
Nous pouvons utiliser la commande docker image ls  pour lister toutes les images Docker disponibles sur notre système. Voici comment utiliser cette commande :

docker image ls


Comme vous pouvez le constater, nous n'avons actuellement aucune image localement.

9.2 Extraire des images du référentiel Docker

La commande docker pull permet de télécharger une image Docker à partir d'un registre :

docker pull <image>

Extrayons l'image intersystemsdc/iris-community du hub Docker.
À ce stade, nous devrions utiliser la commande list (ls) pour afficher les images localement :

Bien joué! L'image IRIS en édition communautaire a été extraite avec succès.


9.3 Supprimer l'image localement
La commande docker image rm   supprime l'image de notre système.

docker image rm <image name>

 

9.4 Répertorier tous les conteneurs existants (en cours d'exécution et non en cours d'exécution)
Nous pouvons utiliser la commande docker ps pour afficher la liste des conteneurs en cours d'exécution.

docker ps 

Comme le montre l'image ci-dessous, aucun conteneur n'est en cours d'exécution pour le moment.
 

9.5 Créer et démarrer le conteneur

Nous pouvons utiliser la commande docker run pour créer et démarrer le conteneur.

docker run <image id/namge>

Créons et démarrons le conteneur à partir de l'image iris-community
L'option -d ou --detachpermet d'exécuter le conteneur en arrière-plan en rendant la main immédiatement au terminal.

Il est temps de lister à nouveau les conteneurs en cours d'exécution :

docker ps

Nous pouvons voir que notre conteneur de l'image IRIS en édition communautaire est maintenant en cours d'exécution.

9.6 Arrêter le conteneur spécifique

Nous pouvons utiliser la commande docker stop pour arrêter un conteneur en cours d'exécution.

docker stop <container id/name>

 

9.7 Démarrer un conteneur spécifique

La commande docker start permet de démarrer un conteneur précédemment arrêté dans Docker.

docker start <container id/name>

9.8 Redémarrez le conteneur spécifique

La commande docker restart permet de redémarrer un conteneur en cours d'exécution.

docker restart <container id/name>

9.9 Remove the specific container

La commande docker rm supprime un container déjà arrêté.

docker rm <container id/name>

 

9.10 Exécuter une commande dans un conteneur en cours d'exécution

La commande docker exec permet d'exécuter une commande à l'intérieur d'un conteneur en cours d'exécution. Cela peut s'avérer utile lors de l'exécution de tâches administratives ou à des fins de débogage.

docker exec -it my-container sh

Quelques options courantes pour la commande docker exec :

  • -i ou --interactive:  cette option maintient STDIN ouvert même s'il n'est pas attaché, vous permettant d'interagir avec le conteneur.
  • -t ou --tty:  cette option alloue un pseudo-TTY à la commande, vous permettant d'utiliser les commandes du terminal à l'intérieur du conteneur.
  • -d ou --detach:  permet d'exécuter la commande en arrière-plan et rend le contrôle au terminal.

 

10. Exécution de l'édition communautaire IRIS à l'aide de Docker

Utilisez la commande ci-dessous pour exécuter le conteneur en utilisant l'image iris-community

docker run -d -p 52773:52773 intersystemsdc/iris-community

Quelques options courantes pour la commande docker exec :

  • -d : cette option est utilisée pour démarrer un nouveau conteneur Docker en mode détaché, cela signifie que le conteneur s'exécutera en arrière-plan et que nous pourrons continuer à utiliser le terminal pour d'autres tâches.
  • -p:  cette commande nous aide à publier le port d'un conteneur sur la machine hôte pour permettre d'accéder au conteneur depuis l'extérieur du réseau Docker.

Dans l'illustration ci-dessous, vous pouvez repérer IRIS en cours d'exécution dans le Docker

 

11. Interface graphique du bureau Docker

Le bureau Docker dispose également d'une interface graphique où nous pouvons utiliser toutes les commandes mentionnées ci-dessus.

 

Résumé

Docker est un outil puissant qui permet aux développeurs et aux équipes informatiques de créer, déployer et exécuter des applications dans un environnement conteneurisé. En offrant portabilité, cohérence, évolutivité, efficacité des ressources et sécurité, Docker facilite le déploiement d'applications dans différents environnements et infrastructures. Avec la popularité croissante de la conteneurisation, Docker devient un outil essentiel pour le développement et le déploiement de logiciels modernes.
Dans le prochain article, nous apprendrons comment utiliser le fichier Docker (utilisé pour créer une image Docker), Docker compose (un fichier YAML qui spécifie les options de configuration pour chaque conteneur de l'application) et Docker volume (un mécanisme de stockage de données persistant). exploité pour partager des données entre les conteneurs Docker et la machine hôte.)

Merci pour la lecture!

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer