GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer et utiliser Docker Compose sur Debian 10 Linux

Docker est une plate-forme de conteneurisation qui vous permet de créer, tester et déployer rapidement des applications sous forme de conteneurs portables et autonomes pouvant s'exécuter pratiquement n'importe où.

Docker Compose est un outil qui permet de définir et d'orchestrer des applications Docker multi-conteneurs. Il utilise un fichier YAML pour configurer les conteneurs, les réseaux et les volumes de l'application.

Compose peut être utilisé à diverses fins. Les déploiements d'applications à hôte unique, les tests automatisés et le développement local sont les cas d'utilisation les plus populaires de Docker Compose.

Ce tutoriel explique comment installer la dernière version de Docker Compose sur Debian 10, Buster. Nous explorerons également les concepts et commandes de base de Docker Compose.

Prérequis #

Avant de continuer, assurez-vous que vous avez rempli les conditions préalables suivantes :

  • Connecté en tant qu'utilisateur avec des privilèges sudo.
  • Docker est installé sur votre machine Debian 10.

Installer Docker Compose sur Debian 10 #

Le package d'installation de Docker Compose est disponible dans les dépôts officiels de Debian 10, mais il ne s'agit pas toujours de la dernière version. L'approche recommandée consiste à installer Docker Compose à partir du référentiel GitHub de Docker.

Au moment de la rédaction de cet article, la dernière version stable de Docker Compose est la version 1.23.1 . Avant de télécharger le binaire Compose, visitez la page de publication du référentiel Compose sur GitHuband pour vérifier s'il existe une nouvelle version disponible au téléchargement.

Utilisez les étapes suivantes pour installer la dernière version de Docker Compose sur Debian 10 :

  1. Téléchargez le binaire Docker Compose dans le /usr/local/bin répertoire avec wget ou curl :

    sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  2. Utilisez chmod pour rendre le binaire Compose exécutable :

    sudo chmod +x /usr/local/bin/docker-compose
  3. Pour vérifier l'installation, utilisez la commande suivante qui imprime la version de Compose :

    docker-compose --version

    La sortie ressemblera à ceci :

    docker-compose version 1.23.1, build b02f1306

Démarrer avec Docker Compose #

Dans cette section, nous montrerons comment configurer un environnement de développement WordPress local avec Docker Compose.

Créez un répertoire pour le projet et accédez-y :

mkdir wordpress_app && cd wordpress_app

Ouvrez votre éditeur de texte et créez un fichier nommé docker-compose.yml :

nano docker-compose.yml

Collez le contenu suivant :

docker-compose.yml
version: '3.7'

services:
  db:
    image: mysql:8.0
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: wordpress

  wordpress:
    image: wordpress
    restart: always
    volumes:
      - ./wp_data:/var/www/html
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: password
    depends_on:
       - db

volumes:
    db_data:
    wp_data:

Expliquons le code ligne par ligne

La première ligne spécifie la version du fichier Compose. Il existe plusieurs versions différentes du format de fichier Compose avec prise en charge de versions spécifiques de Docker.

Ensuite, nous définissons deux services, db et wordpress . Chaque service crée un conteneur séparé lors de l'exécution de Docker Compose.

La db service :

  • L'image est définie sur mysql:8.0 image. Si l'image n'est pas présente, Compose l'extrairea du référentiel public Docker Hub. La ligne commençant par command remplace la commande par défaut.
  • Le restart: always la stratégie indique à Compose de redémarrer le conteneur s'il tombe en panne.
  • Le conteneur utilisera un volume nommé db_data pour conserver la base de données.
  • Définit les variables d'environnement pour mysql:8.0 photo.

Le wordpress service :

  • Utilise wordpress photo.
  • Monte le wp_data répertoire sur l'hôte vers /var/lib/mysql à l'intérieur du conteneur.
  • Transfère le port exposé 80 sur le conteneur au port 8080 sur la machine hôte.
  • Définit les variables d'environnement pour wordpress photo.
  • Le depends_on L'instruction définit la dépendance entre les deux services. Dans cet exemple, db sera lancé avant wordpress .

Depuis le répertoire du projet, démarrez la pile WordPress en exécutant la commande suivante :

docker-compose up

Le résultat devrait ressembler à ceci :

...
] /usr/sbin/mysqld: ready for connections. Version: '8.0.18'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
db_1_99946702ac7e | 2019-12-15T21:37:29.109255Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060
...

Docker Compose extraira les images, démarrera les conteneurs et créera le wp_data répertoire dans votre répertoire de projet.

Saisissez http://0.0.0.0:8080/ dans votre navigateur, et vous verrez l'écran d'installation standard de WordPress.

À ce stade, l'application WordPress est opérationnelle et vous pouvez commencer à travailler dessus.

Pour arrêter Compose appuyez sur CTRL+C .

Vous pouvez également démarrer Compose en mode détaché en utilisant le -d choix :

docker-compose up -d

Pour afficher les conteneurs Docker en cours d'exécution, utilisez la commande suivante :

docker-compose ps
                 Name                               Command               State          Ports        
------------------------------------------------------------------------------------------------------
wordpress_app_db_1_99946702ac7e          docker-entrypoint.sh --def ...   Up      3306/tcp, 33060/tcp 
wordpress_app_wordpress_1_a428d8408817   docker-entrypoint.sh apach ...   Up      0.0.0.0:8080->80/tcp 

Pour arrêter les services lorsque Compose s'exécute en mode détaché, utilisez :

docker-compose stop

Si vous souhaitez supprimer entièrement les conteneurs, utilisez le down choix :

docker-compose down

Passer le --volumes commutateur supprime également les volumes de données :

docker-compose down --volumes

Désinstallation de Docker Compose #

Si vous devez désinstaller Docker Compose, vous pouvez simplement supprimer le binaire en tapant :

sudo rm /usr/local/bin/docker-compose

Debian
  1. Comment installer Docker sur Debian 10 Buster Linux

  2. Comment installer et utiliser les rétroportages Debian

  3. Comment installer et utiliser Ansible sur Debian 11

  4. Comment installer Docker et Docker Compose sur Debian 11

  5. Comment installer et utiliser Docker Compose sur CentOS

Comment installer et utiliser FFmpeg sur Debian 11

Comment installer et utiliser Docker Compose sur Ubuntu 20.04

Comment installer et utiliser Docker Compose sur Ubuntu 22.04

Comment installer Docker et Docker Compose sous Linux

Comment installer et utiliser Docker Compose sur Debian 11

Comment installer et utiliser PHP Composer sur Debian 11 Linux