En aquest tema, explorarem les comandes més importants de Docker Compose, una eina que permet definir i executar aplicacions multi-contenidor. Docker Compose utilitza un fitxer YAML per configurar els serveis de l'aplicació. Amb les comandes de Docker Compose, podem gestionar fàcilment el cicle de vida dels nostres serveis.

  1. docker-compose up

Descripció

La comanda docker-compose up crea i inicia els contenidors definits en el fitxer docker-compose.yml.

Sintaxi

docker-compose up [opcions] [serveis...]

Opcions comunes

  • -d o --detach: Executa els contenidors en segon pla.
  • --build: Força la reconstrucció de les imatges abans d'iniciar els contenidors.
  • --force-recreate: Re-crea els contenidors fins i tot si no hi ha canvis en el fitxer docker-compose.yml.

Exemple

docker-compose up -d

Aquest exemple inicia tots els serveis definits en el fitxer docker-compose.yml en segon pla.

  1. docker-compose down

Descripció

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

Sintaxi

docker-compose down [opcions]

Opcions comunes

  • --volumes: Elimina els volums associats als serveis.
  • --rmi all: Elimina totes les imatges construïdes pel fitxer docker-compose.yml.

Exemple

docker-compose down --volumes

Aquest exemple atura i elimina els contenidors, xarxes i volums associats.

  1. docker-compose build

Descripció

La comanda docker-compose build construeix les imatges especificades en el fitxer docker-compose.yml.

Sintaxi

docker-compose build [opcions] [serveis...]

Opcions comunes

  • --no-cache: Construeix les imatges sense utilitzar la memòria cau.
  • --pull: Força la descàrrega de les imatges base més recents.

Exemple

docker-compose build --no-cache

Aquest exemple construeix les imatges sense utilitzar la memòria cau.

  1. docker-compose logs

Descripció

La comanda docker-compose logs mostra els registres dels contenidors.

Sintaxi

docker-compose logs [opcions] [serveis...]

Opcions comunes

  • -f o --follow: Mostra els registres en temps real.
  • --tail="all": Mostra només les últimes línies dels registres.

Exemple

docker-compose logs -f

Aquest exemple mostra els registres en temps real de tots els serveis.

  1. docker-compose ps

Descripció

La comanda docker-compose ps mostra l'estat dels contenidors definits en el fitxer docker-compose.yml.

Sintaxi

docker-compose ps [opcions]

Opcions comunes

  • -q o --quiet: Mostra només els IDs dels contenidors.

Exemple

docker-compose ps

Aquest exemple mostra l'estat de tots els contenidors.

  1. docker-compose exec

Descripció

La comanda docker-compose exec executa una comanda en un contenidor en funcionament.

Sintaxi

docker-compose exec [opcions] servei comanda

Opcions comunes

  • -d o --detach: Executa la comanda en segon pla.
  • -T: Desactiva la pseudo-TTY.

Exemple

docker-compose exec web bash

Aquest exemple obre una sessió de bash en el contenidor del servei web.

  1. docker-compose stop

Descripció

La comanda docker-compose stop atura els contenidors sense eliminar-los.

Sintaxi

docker-compose stop [serveis...]

Exemple

docker-compose stop

Aquest exemple atura tots els contenidors definits en el fitxer docker-compose.yml.

  1. docker-compose restart

Descripció

La comanda docker-compose restart reinicia els contenidors.

Sintaxi

docker-compose restart [serveis...]

Exemple

docker-compose restart web

Aquest exemple reinicia el contenidor del servei web.

Exercicis Pràctics

Exercici 1: Crear i Iniciar Contenidors

  1. 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
    
  2. Utilitza la comanda docker-compose up per iniciar els serveis en segon pla.
  3. Verifica l'estat dels contenidors amb docker-compose ps.

Solució

docker-compose up -d
docker-compose ps

Exercici 2: Aturar i Eliminar Contenidors

  1. Utilitza la comanda docker-compose down per aturar i eliminar els contenidors, xarxes i volums.
  2. Verifica que els contenidors han estat eliminats amb docker-compose ps.

Solució

docker-compose down --volumes
docker-compose ps

Conclusió

En aquesta secció, hem après les comandes bàsiques de Docker Compose que ens permeten gestionar el cicle de vida dels nostres serveis. Aquestes comandes són essencials per treballar amb aplicacions multi-contenidor de manera eficient. En el proper tema, explorarem com definir serveis a Docker Compose.

© Copyright 2024. Tots els drets reservats