GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Premiers pas avec Docker Compose sous Linux

Docker Compose est un outil pour définir et exécuter des applications Docker multi-conteneurs sous Linux. Avec Compose, nous utilisons un fichier YAML pour configurer les services de notre application. Et puis nous créons et démarrons tous les services de la configuration avec une seule commande. Voici une illustration graphique simple qui montre comment Docker compose fonctionne.

Fonctionnement de Docker Compose - Une illustration graphique

Docker Compose est essentiellement un processus en trois étapes :

  1. Tout d'abord, nous devons définir l'environnement de l'application avec un Dockerfile afin qu'il puisse être réutilisé à nouveau.
  2. Deuxièmement, nous définissons les services qui composent l'application dans docker-compose.yml afin qu'ils puissent être exécutés ensemble dans un environnement isolé.
  3. Enfin, nous exécutons docker-compose up commande et Compose démarreront et exécuteront toute votre application.

Premiers pas avec Docker Compose sous Linux

Docker Compose peut être installé de deux manières. Vous pouvez trouver les instructions d'installation dans la section "Installer Docker Compose" dans les liens suivants.

  • Comment installer Docker dans Ubuntu
  • Comment installer Docker dans CentOS

Après l'installation, vérifiez la version de Docker compose à l'aide des commandes :

# docker-compose -version

Ou,

# docker-compose -v

Ou,

# docker-compose --version

Vérifier la version de docker compose

Pour obtenir de l'aide, exécutez simplement :

# docker-compose -help

Cette commande listera les commandes que docker compose peut exécuter.

docker composer aide

Prenons maintenant un simple fichier de composition docker comme exemple. Voici le contenu de mon fichier de composition.

Exemple de fichier de composition docker

Le fichier de composition docker ci-dessus est un fichier minimum pour comprendre le contenu de base à l'intérieur du fichier de composition.

Nous pouvons vérifier la validité du fichier en utilisant la commande :

# docker-compose config

Vérifier la validité du fichier de composition docker

Si vous donnez une mauvaise version dans le fichier de composition docker, cela vous donnera un message d'erreur.

Message d'erreur de fichier de composition Docker

Exécutons maintenant le fichier de composition à l'aide de la commande :

# docker-compose up -d

Il démarrera tous les services avec une seule commande.

Exécutez docker compose

Pour répertorier les conteneurs en cours d'exécution créés par le fichier de composition, exécutez :

# docker-compose ps

Répertorier les conteneurs Docker en cours d'exécution

Nous pouvons arrêter l'application à tout moment avec la commande suivante :

# docker-compose down

Arrêter les conteneurs Docker

Nous pouvons également attribuer un port différent à nginx, par exemple 8181.

Pour ce faire, définissez simplement le port dans le fichier de composition, comme indiqué dans l'image suivante.

Définir le conteneur port nginx

Maintenant, le nginx est exposé au port 8181. Démarrons le conteneur et vérifions si Nginx s'exécute sur le port 8181.

Démarrer le conteneur nginx

Ouvrez le navigateur et vérifiez s'il s'exécute sur le port 8181.

Tester le conteneur nginx dans le navigateur Web

Si vous souhaitez faire évoluer le service, vous pouvez le faire à l'aide de la commande :

# docker-compose up -d --scale database=3

Mettre à l'échelle les services à l'aide de docker compose

Pour afficher les services en cours d'exécution, exécutez :

# docker-compose top

Afficher les services en cours d'exécution à l'aide de docker compose

Arrêter, commencer. redémarrer tout le service d'un coup, les commandes seraient :

# docker-compose stop
# docker-compose start
# docker-compose restart

Nous pouvons afficher les journaux des services à l'aide de la commande :

# docker-compose logs

Afficher les journaux des services

Mise en réseau dans docker-compose

Docker Compose configure par défaut un réseau unique pour votre application. Chaque conteneur rejoint le réseau par défaut et les conteneurs pourront communiquer sur ce réseau par défaut.

Vous pouvez cependant créer un nouveau réseau en utilisant composer si vous ne voulez pas le réseau par défaut.

Pour les besoins de ce guide, j'utilise les trois fichiers suivants :

  1. Dockerfile
  2. docker-compose.yml
  3. serveur.py

Voici le contenu de Dockerfile :

contenu du fichier docker

Contenu de docker-compose.yml :

Docker compose le contenu du fichier

Contenu de server.py :

contenu du dossier de candidature

Construisez maintenant l'image à l'aide de la commande :

# docker-compose build

Une fois la compilation terminée, vous verrez le résultat suivant :

Créer une image docker

Comme vous pouvez le voir, l'image est construite avec succès. Vous pouvez le vérifier en utilisant la commande :

# docker images

Lister les images Docker

Comme vous le voyez dans la sortie ci-dessus, une image Docker nommée image1 est créé.

Exécutez maintenant le fichier de composition :

# docker-compose up -d

Exécuter le fichier de composition docker

Vérifiez si le nouveau réseau est créé ou non avec la commande :

# docker network ls

Vérifier le réseau docker

À partir de la capture d'écran ci-dessus, nous pouvons confirmer un nouveau réseau nommé dc_network_my-network a été créé.

Vérifions si le conteneur est en cours d'exécution ou non en utilisant la commande "docker ps":

# docker ps

sortie de la commande docker ps

Oui, le conteneur est en cours d'exécution !

Enfin, exécutez le fichier de code d'application (server.py) à l'aide de la commande curl :

# curl localhost:15001

Ou,

# curl 10.26.35.244:15001

sortie de l'application

Nous recevons une sortie - Hello World du nœud 1 ! qui est écrit dans le fichier server.py. Cela signifie que cela fonctionne !

Suggestion de lecture :

  • Expliquer les concepts de mise en réseau Docker
  • Expliquer les volumes Docker avec des exemples
  • Comment mettre à jour automatiquement les conteneurs Docker en cours d'exécution
  • ctop – Un outil de surveillance en ligne de commande pour les conteneurs Linux
  • Portainer – Le moyen le plus simple de gérer Docker
  • PiCluster :une application Web simple de gestion Docker
  • Dockly – Gérer les conteneurs Docker depuis le terminal

À propos de l'auteur :

Dhruv Tiwari est un ingénieur DevOps qui aime automatiser les choses, travailler avec Linux à grande échelle et rêver du jour où les systèmes seront suffisamment intelligents pour ne jamais avoir besoin de se connecter à une machine Linux. Journey Of CI/CD du code source au déploiement du code jusqu'à la production.


Docker
  1. Premiers pas avec les pare-feux Linux

  2. Premiers pas avec la commande Linux tac

  3. Premiers pas avec PiFlash :démarrer votre Raspberry Pi sous Linux

  4. Premiers pas avec PostgreSQL sous Linux

  5. Premiers pas avec SSH sous Linux

Premiers pas avec le système d'exploitation Linux

Tutoriel Docker - Premiers pas avec Docker sous Linux

Tutoriel Vagrant - Premiers pas avec Vagrant sous Linux

Premiers pas avec VirtualBox sous Linux - Partie 1

Premiers pas avec Flutter sur Linux Desktop

Tutoriel de démarrage avec Azure Docker