Guia completa per fer servir Docker Compose

Darrera actualització: 11/03/2025
Autor: Isaac
  • Docker Compose permet gestionar múltiples contenidors mitjançant un únic fitxer YAML.
  • Facilita la configuració de serveis, xarxes i volums en entorns de desenvolupament i producció.
  • Ofereix ordres senzills per desplegar, escalar i administrar aplicacions basades en contenidors.
  • Millora l'automatització i la reproductibilitat de l'entorn, optimitzant la gestió d'aplicacions.

Docker Compose en acció

Docker Compose és una eina invaluable per a qualsevol desenvolupador o administrador de sistemes que treballi amb contenidors Docker. Permet definir, gestionar i executar aplicacions multicontenidor amb facilitat, utilitzant fitxers YAML per estructurar els serveis necessaris. Ja sigui en entorns de desenvolupament, prova o producció, Docker Compose simplifica la configuració i el desplegament d'aplicacions, optimitzant el flux de treball i l'escalabilitat.

Al llarg d'aquest article, explorarem en profunditat com utilitzar Docker Compose, des de la instal·lació fins a la implementació de projectes complexos. Aprendràs a estructurar correctament un fitxer de configuració, definir serveis, xarxes, volums i gestionar eficientment les teves aplicacions amb les ordres essencials.

Què és Docker Compose i per què és útil?

docker compose

Docker Compose és una eina oficial de Docker que permet gestionar múltiples contenidors com a única unitat coordinada. En lloc d'executar manualment diversos contenidors i connectar-los entre si, Compose permet definir la seva configuració en un únic fitxer YAML, cosa que facilita l'automatització i la reproductibilitat d'entorns.

Entre els seus principals avantatges destaquen:

  • Automatització del desplegament: S'evita la necessitat d'executar múltiples ordres manualment.
  • Facilitat de manteniment: Centralitza la configuració i simplifica la lectura i la modificació.
  • Compatibilitat amb entorns de desenvolupament i producció: Permet definir configuracions específiques per a cada cas.
  • escalabilitat: És fàcil augmentar o disminuir el nombre d'instàncies d'un servei.

Instal·lació de Docker Compose

Abans de començar a utilitzar Docker Compose, cal instal·lar-lo al vostre sistema. Hi ha diferents mètodes depenent del sistema operatiu.

Instal·lació en Linux

A la majoria de distribucions basades en Debian o Ubuntu, pots instal·lar Docker Compose executant:

sudo apt update
sudo apt install docker-compose

Per verificar la instal·lació, utilitza:

docker-compose --version

Instal·lació en macOS

Si tens Docker Desktop instal·lat, Docker Compose ja ve inclòs. Pots verificar-ho amb la mateixa ordre:

docker-compose --version

Instal·lació en Windows

A Windows , pots gaudir de Docker Compose amb Docker Desktop. La instal·lació és simple, només descarrega i instal·la Docker Desktop des de la seva pàgina oficial.

  Què és OOBE a Windows? Tot sobre l'experiència de configuració inicial

Com funciona Docker Compose

Docker Compose utilitza un fitxer YAML per definir els serveis, xarxes i volums que necessita una aplicació. La sintaxi clara i estructurada facilita la gestió d'entorns.

Exemple d'un fitxer docker-compose.yaml

Vegem un exemple bàsic que defineix una aplicació amb un servidor web i una base de dades:

version: '3.8'
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: postgres
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: secret

Aquest fitxer configura un servei web basat en Nginx i una base de dades PostgreSQL amb credencials predefinides.

Definició de Serveis a Docker Compose

A Docker Compose, cada aplicació es divideix en serveis. Cada servei és un contenidor que sexecuta independentment, però que pot interactuar amb altres components.

Paràmetres comuns en serveis

  • imatge: Defineix la imatge de Docker a utilitzar.
  • construir: Permet construir una imatge des d'un Dockerfile.
  • ports: Exposa ports del contenidor al host.
  • volums: Defineix volums per a persistència de dades.
  • depén de: Declara dependències entre serveis.

Executant una aplicació amb Docker Compose

Un cop creat el fitxer docker-compose.yml , podem executar l'aplicació amb la següent ordre:

docker-compose up -d

El paràmetre -d executa els contenidors en segon pla.

Per aturar l'aplicació i eliminar els contenidors:

docker-compose down

Si experimenteu problemes, és recomanable consultar algunes solucions comunes a l'error d'enumeració d'objectes al contenidor. Això pot ser útil per depurar l'entorn de Docker.

Gestió de Volums i Xarxes

Docker Compose permet definir volums i xarxes per millorar la gestió de les dades i la comunicació interna entre contenidors.

Exemple de configuració de volums:

volumes:
  db-data:

Exemple de xarxes personalitzades:

networks:
  backend:

Gestió de xarxes i volums amb Docker Compose

A més, si vols millorar la gestió d'aplicacions de manera més sofisticada, considera explorar com Akamai App porta la gestió d'aplicacions a Kubernetes a un altre nivell.

Escalabilitat amb Docker Compose

Per escalar instàncies d'un servei, només cal utilitzar:

docker-compose up --scale web=3

Això crea tres instàncies del servei web.

  Què són i com utilitzar les etiquetes intel·ligents de fitxers

Docker Compose simplifica enormement la gestió d'aplicacions basades en Docker en centralitzar la configuració en un únic fitxer YAML. La seva capacitat per definir múltiples contenidors, gestionar xarxes, volums i escalar serveis el converteix en una eina imprescindible per al desenvolupament i el desplegament d'aplicacions modernes. Si encara no ho has provat, és el moment perfecte per començar a fer-lo servir i optimitzar el teu flux de treball.

formats opendocument-8
Article relacionat:
Tot sobre els formats OpenDocument i la seva importància