GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare e utilizzare Docker Compose su Debian 10 Linux

Docker è una piattaforma di containerizzazione che ti consente di creare, testare e distribuire rapidamente applicazioni come container portatili e autosufficienti che possono essere eseguiti praticamente ovunque.

Docker Compose è uno strumento che consente di definire e orchestrare applicazioni Docker multi-container. Utilizza un file YAML per configurare i contenitori, le reti e i volumi dell'applicazione.

Componi può essere utilizzato per vari scopi. Le distribuzioni di applicazioni host singole, i test automatizzati e lo sviluppo locale sono i casi d'uso più diffusi per Docker Compose.

Questo tutorial spiega come installare l'ultima versione di Docker Compose su Debian 10, Buster. Esploreremo anche i concetti e i comandi di base di Docker Compose.

Prerequisiti #

Prima di procedere, assicurati di aver soddisfatto i seguenti prerequisiti:

  • Acceduto come utente con privilegi sudo.
  • Hai Docker installato sulla tua macchina Debian 10.

Installazione di Docker Compose su Debian 10 #

Il pacchetto di installazione Docker Compose è disponibile nei repository Debian 10 ufficiali, ma potrebbe non essere sempre l'ultima versione. L'approccio consigliato consiste nell'installare Docker Compose dal repository GitHub di Docker.

Al momento della stesura di questo articolo, l'ultima versione stabile di Docker Compose è la versione 1.23.1 . Prima di scaricare il binario Compose, visita la pagina di rilascio del repository Compose su GitHub e controlla se è disponibile una nuova versione per il download.

Utilizzare i seguenti passaggi per installare l'ultima versione di Docker Compose su Debian 10:

  1. Scarica il file binario Docker Compose in /usr/local/bin directory con wget o 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. Usa chmod per rendere eseguibile il binario Compose:

    sudo chmod +x /usr/local/bin/docker-compose
  3. Per verificare l'installazione, utilizzare il seguente comando che stampa la versione Compose:

    docker-compose --version

    L'output sarà simile a questo:

    docker-compose version 1.23.1, build b02f1306

Introduzione a Docker Compose #

In questa sezione, mostreremo come configurare un ambiente di sviluppo WordPress locale con Docker Compose.

Crea una directory per il progetto e naviga in essa:

mkdir wordpress_app && cd wordpress_app

Apri il tuo editor di testo e crea un file chiamato docker-compose.yml :

nano docker-compose.yml

Incolla il seguente contenuto:

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:

Spieghiamo il codice riga per riga

La prima riga specifica la versione del file Compose. Esistono diverse versioni del formato di file Compose con supporto per versioni Docker specifiche.

Successivamente, stiamo definendo due servizi, db e wordpress . Ogni servizio crea un contenitore separato quando viene eseguito Docker Compose.

Il db servizio:

  • L'immagine è impostata su mysql:8.0 Immagine. Se l'immagine non è presente, Compose la estrarrà dal repository pubblico di Docker Hub. La riga che inizia con command sovrascrive il comando predefinito.
  • Il restart: always il criterio indica a Compose di riavviare il contenitore se si interrompe.
  • Il contenitore utilizzerà un volume denominato db_data per rendere persistente il database.
  • Definisce le variabili di ambiente per mysql:8.0 immagine.

Il wordpress servizio:

  • Utilizza wordpress immagine.
  • Monta il wp_data directory sull'host in /var/lib/mysql all'interno del contenitore.
  • Inoltra la porta esposta 80 sul container per portare 8080 sul computer host.
  • Definisce le variabili d'ambiente per wordpress immagine.
  • Il depends_on l'istruzione definisce la dipendenza tra i due servizi. In questo esempio, db verrà avviato prima di wordpress .

Dalla directory del progetto, avvia lo stack di WordPress eseguendo il seguente comando:

docker-compose up

L'output dovrebbe essere simile a questo:

...
] /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 estrarrà le immagini, avvierà i contenitori e creerà i wp_data directory nella directory del tuo progetto.

Inserisci http://0.0.0.0:8080/ nel tuo browser e vedrai la schermata di installazione standard di WordPress.

A questo punto, l'applicazione WordPress è attiva e funzionante e puoi iniziare a lavorarci.

Per interrompere la composizione, premi CTRL+C .

Puoi anche avviare la composizione in una modalità separata usando il -d opzione:

docker-compose up -d

Per visualizzare i contenitori Docker in esecuzione, utilizzare il comando seguente:

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 

Per interrompere i servizi quando Compose è in esecuzione in modalità separata, utilizza:

docker-compose stop

Se vuoi rimuovere completamente i contenitori usa il down opzione:

docker-compose down

Passando i --volumes switch rimuove anche i volumi di dati:

docker-compose down --volumes

Disinstallazione di Docker Compose #

Se devi disinstallare Docker Compose puoi semplicemente rimuovere il file binario digitando:

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

Debian
  1. Come installare Docker su Debian 10 Buster Linux

  2. Come installare e utilizzare Debian Backports

  3. Come installare e utilizzare Ansible su Debian 11

  4. Come installare Docker e Docker Compose su Debian 11

  5. Come installare e utilizzare Docker Compose su CentOS

Come installare e utilizzare FFmpeg su Debian 11

Come installare e utilizzare Docker Compose su Ubuntu 20.04

Come installare e utilizzare Docker Compose su Ubuntu 22.04

Come installare Docker e Docker Compose su Linux

Come installare e utilizzare Docker Compose su Debian 11

Come installare e utilizzare PHP Composer su Debian 11 Linux