Què és Docker Compose?

Docker Compose és una eina que permet definir i executar aplicacions multi-contenidor. Amb Docker Compose, pots utilitzar un fitxer YAML per configurar els serveis de la teva aplicació. Després, amb una sola comanda, pots crear i iniciar tots els serveis des d'aquesta configuració.

Beneficis de Docker Compose

  • Simplicitat: Permet definir múltiples serveis en un sol fitxer.
  • Portabilitat: Facilita la compartició de configuracions entre diferents entorns.
  • Escalabilitat: Permet escalar serveis fàcilment amb una sola comanda.
  • Automatització: Simplifica la gestió de dependències i la configuració de serveis.

Instal·lació de Docker Compose

Docker Compose ve preinstal·lat amb Docker Desktop per a Windows i Mac. Per a Linux, pots instal·lar-lo seguint aquests passos:

  1. Descarrega la versió més recent de Docker Compose:

    sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')" /usr/local/bin/docker-compose
    
  2. Aplica permisos executables al binari:

    sudo chmod +x /usr/local/bin/docker-compose
    
  3. Verifica la instal·lació:

    docker-compose --version
    

Fitxer docker-compose.yml

El fitxer docker-compose.yml és el cor de Docker Compose. Aquí és on defines els serveis, les xarxes i els volums que la teva aplicació utilitzarà. A continuació, es mostra un exemple bàsic d'un fitxer docker-compose.yml:

version: '3'
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: example

Explicació del fitxer

  • version: Defineix la versió del format del fitxer Compose.
  • services: Defineix els serveis que componen la teva aplicació.
    • web: Un servei que utilitza la imatge nginx i exposa el port 80.
    • db: Un servei que utilitza la imatge postgres i estableix una variable d'entorn POSTGRES_PASSWORD.

Comandes bàsiques de Docker Compose

docker-compose up

Aquesta comanda crea i inicia tots els serveis definits al fitxer docker-compose.yml.

docker-compose up

docker-compose down

Aquesta comanda atura i elimina els contenidors, xarxes i volums creats per docker-compose up.

docker-compose down

docker-compose ps

Mostra l'estat dels serveis definits al fitxer docker-compose.yml.

docker-compose ps

docker-compose logs

Mostra els logs dels serveis definits al fitxer docker-compose.yml.

docker-compose logs

Exercici pràctic

Objectiu

Crear una aplicació multi-contenidor amb un servidor web Nginx i una base de dades PostgreSQL.

Passos

  1. Crea un directori per al projecte:

    mkdir myapp
    cd myapp
    
  2. Crea un fitxer docker-compose.yml amb el següent contingut:

    version: '3'
    services:
      web:
        image: nginx
        ports:
          - "80:80"
      db:
        image: postgres
        environment:
          POSTGRES_PASSWORD: example
    
  3. Inicia els serveis:

    docker-compose up
    
  4. Verifica que els serveis estan en funcionament:

    docker-compose ps
    
  5. Atura i elimina els serveis:

    docker-compose down
    

Conclusió

En aquesta secció, hem après què és Docker Compose, com instal·lar-lo, i com utilitzar-lo per definir i executar aplicacions multi-contenidor. Hem explorat un exemple bàsic de fitxer docker-compose.yml i hem practicat amb les comandes bàsiques de Docker Compose. Amb aquests coneixements, estàs preparat per aprofundir en la definició de serveis més complexos i gestionar aplicacions multi-contenidor de manera eficient.

© Copyright 2024. Tots els drets reservats