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

Comment installer et utiliser Docker Compose sur CentOS

Docker Compose est un programme Python simple qui facilite les déploiements de plusieurs conteneurs Docker sur un serveur.

Il utilise un simple fichier YAML pour la description du service.

Au lieu du long docker run . . . lignes, vous pouvez simplement utiliser docker-compose up -d pour déployer plusieurs services à la fois.

Dans ce tutoriel, je vais vous montrer comment installer Docker Compose sur le serveur CentOS. Je vais également vous montrer un exemple rapide d'utilisation de Docker Compose pour déployer un serveur NGINX avec une configuration spécifique.

Installation de docker-compose sur CentOS

Vous devez installer Docker au préalable. Assurez-vous d'installer Docker sur votre système CentOS avant d'installer Docker Compose.

docker-compose n'est fourni ni dans les référentiels officiels de CentOS ni dans le référentiel rpm de docker.

Il existe deux manières d'installer Docker Compose sous Linux :

  • Téléchargez les fichiers d'installation de Docker Compose Linux et configurez-les manuellement
  • Utilisez PIP pour installer Docker Compose facilement

Personnellement, je préfère utiliser PIP pour installer Docker Compose. Étant donné que Docker Compose est essentiellement une application Python, il est logique d'utiliser PIP pour l'installer.

Voyons comment faire.

Installer pip3

Installez pip3 à l'aide de la commande suivante :

sudo dnf install python3-pip

Installer docker-compose en utilisant pip3

Utilisez pip pour installer docker-compose

pip3 install --user docker-compose

Mettre à jour le CHEMIN

pip installe docker-compose dans ~/.local/bin annuaire. Vous devrez l'ajouter à la variable d'environnement PATH afin de pouvoir l'exécuter de n'importe où :

echo 'PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc

Si vous utilisez zsh , modifiez .bashrc vers .zshrc .

Une fois que vous avez terminé, utilisez la commande source source ~/.bashrc ou rouvrez le terminal (déconnectez-vous et reconnectez-vous s'il s'agit d'un serveur).

Confirmez que docker-compose est installé à l'aide de la commande suivante :

[email protected]:~$ docker-compose --version
docker-compose version 1.26.2, build unknown

Toutes nos félicitations! Vous avez maintenant docker-compose installé sur votre serveur CentOS 8.

Vous voulez le tester ? Suivez ce didacticiel simple et apprenez à utiliser Docker Compose.

Déployer un exemple de serveur nginx à l'aide de docker-compose

Nginx est l'un des serveurs Web les plus populaires, il est facilement déployable via Docker.

Comparons la manière de composer et la manière de ne pas composer

Déployer Nginx sans Docker Compose

Vous pouvez utiliser run commande pour déployer facilement un serveur nginx comme ceci :

docker run --name server --network net -v html:/usr/share/nginx/html -v $PWD/custom-config.conf:/etc/nginx/nginx.conf -p 80:80 --restart on-failure -d nginx:latest

Ici, vous avez déployé un serveur nginx, avec un nom de conteneur "server", en utilisant un réseau externe "net", monté un volume nommé "html", en utilisant un fichier de configuration personnalisé et en écoutant sur le port 80 sur l'hôte, qui redémarre automatiquement en cas d'échec.

Passons en revue les problèmes ici :

Vous devrez créer les réseaux et les volumes au préalable

Docker ne créera pas automatiquement le réseau et le volume. Vous devrez les créer au préalable.

Trop d'options à écrire à chaque fois

Il y a trop d'options à écrire. S'il s'agit d'un conteneur plus compliqué comme un conteneur de base de données ou un conteneur de proxy inverse ou un conteneur nextcloud, ces options ne feront que croître.

Environnement de développement

Que se passe-t-il si vous testez votre build et que vous ne souhaitez pas conserver le volume après l'arrêt du conteneur ? Vous devrez ensuite supprimer manuellement le volume et le réseau.

Déployer Nginx avec Docker Compose

Tout d'abord, vous devrez créer un fichier de composition.

Créez un répertoire nommé "nginx-compose" et cd dedans :

mkdir nginx-compose && cd nginx-compose

Créez un fichier nommé "docker-compose.yml" et ajoutez les lignes suivantes

version: "3.3"

services:
    server:
        image : "nginx:latest"
        container_name: "server"
        volumes:
            - "html:/usr/share/nginx/html"
            - "./custom-config.conf:/etc/nginx/nginx.conf"
        networks:
            - "net"
        ports:
            - "80:80"
        restart: "on-failure"

volumes:
    html:
networks:
    net:

Ce fichier de composition décrit un service nommé server , cela déploiera un serveur nginx avec exactement les mêmes configurations que nous l'avons fait de manière non composée. Déployez-le en utilisant :

docker-compose up -d

docker-compose recherchera dans le répertoire courant un fichier nommé "docker-compose.yml", l'analysera et déploiera les services qui y sont définis.

Passons maintenant en revue les problèmes de la méthode non composée avec la méthode de composition :

  1. Pas besoin de créer les réseaux et les volumes au préalable, docker-compose le fait pour vous. Vous pouvez ajouter des volumes externes en définissant external sur true dans chaque volume/réseau.
  2. Une fois que vous avez écrit le fichier .yaml, plus besoin d'écrire des commandes massives. Vous pouvez copier ce fichier sur n'importe quel autre serveur sur lequel une version récente de docker-compose est installée et il fonctionnera comme prévu avec facilité.
  3. Vous pouvez utiliser docker-compose down -v commande pour arrêter et supprimer non seulement les conteneurs, mais également tous les réseaux et volumes créés par docker-compose. Cela aide à nettoyer dans un environnement de développement/test.

Il existe de nombreux autres avantages à utiliser docker-compose plutôt que docker run , en particulier dans la production, qui est hors de la portée de l'article d'aujourd'hui.

Si vous voulez voir quelque chose comme ça, faites-le moi savoir dans la section des commentaires ci-dessous. Gardez un œil sur notre série Docker pour plus de guides comme ceux-ci.


Docker
  1. Comment installer et utiliser TensorFlow sur CentOS 7

  2. Comment installer Docker Compose sur CentOS 7

  3. Comment installer et utiliser Docker Compose sur Ubuntu 18.04

  4. Comment installer et utiliser Docker sur CentOS 7

  5. Comment installer et utiliser Docker Compose sur CentOS 7

Comment installer Docker Compose sur CentOS 7

Comment installer et utiliser Docker Compose sur Ubuntu 20.04

Comment installer et utiliser Docker Compose sur Ubuntu 22.04

Comment installer et utiliser Docker sur Ubuntu 22.04

Comment installer et utiliser Docker Compose sur Debian 11

Comment installer et utiliser Docker sur CentOS 8