Sobes.tech
Junior

¿Qué es Docker Compose?

sobes.tech AI

Respuesta de la IA

Herramienta para definir y ejecutar aplicaciones Docker multicontenedor. Permite describir servicios, redes y volúmenes en un solo archivo YAML y ejecutarlos con un solo comando.

Funciones principales:

  • Definición de múltiples servicios en un solo archivo.
  • Creación y ejecución de todos los servicios con un solo comando.
  • Gestión del ciclo de vida de la aplicación (inicio, parada, reinicio, escalado).
  • Interacción de red entre contenedores.
  • Aplicación de configuración en tiempo real.

Ejemplo de archivo docker-compose.yml:

version: '3.8' # Versión del formato de archivo

services:
  web: # Nombre del servicio
    image: nginx:latest # Imagen utilizada
    ports:
      - "80:80" # Redireccionamiento de puertos
    volumes:
      - ./html:/usr/share/nginx/html # Mapeo de volúmenes

  app: # Nombre de otro servicio
    build: . # Construcción de la imagen desde Dockerfile en el directorio actual
    ports:
      - "5000:5000"
    depends_on: # Dependencia de otro servicio
      - db

  db: # Nombre del servicio de base de datos
    image: postgres:latest
    environment: # Variables de entorno
      POSTGRES_DB: mydatabase
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword

volumes: # Volúmenes definidos
  data: # Volumen nombrado para datos

Comandos:

  • docker-compose up: Inicia los contenedores.
  • docker-compose down: Detiene y elimina los contenedores.
  • docker-compose build: Construye las imágenes.
  • docker-compose ps: Muestra el estado de los contenedores en ejecución.

Ventajas:

  • Simplifica la gestión de aplicaciones multicontenedor complejas.
  • Garantiza la reproducibilidad del despliegue.
  • Facilita el desarrollo y prueba local.