Docker Compose es una herramienta poderosa que permite definir y ejecutar aplicaciones multi-contenedor. En esta sección, aprenderemos sobre los comandos esenciales de Docker Compose que te ayudarán a gestionar tus aplicaciones de manera eficiente.

  1. Introducción a los Comandos de Docker Compose

Docker Compose utiliza un archivo YAML (docker-compose.yml) para definir los servicios, redes y volúmenes necesarios para una aplicación. Los comandos de Docker Compose permiten interactuar con estos archivos para construir, ejecutar y gestionar los contenedores.

Comandos Básicos

A continuación, se presentan los comandos básicos de Docker Compose que debes conocer:

  1. docker-compose up
  2. docker-compose down
  3. docker-compose build
  4. docker-compose start
  5. docker-compose stop
  6. docker-compose restart
  7. docker-compose ps
  8. docker-compose logs
  9. docker-compose exec
  10. docker-compose run

  1. Descripción de los Comandos

2.1 docker-compose up

Este comando crea y arranca los contenedores definidos en el archivo docker-compose.yml.

docker-compose up
  • Opción -d: Ejecuta los contenedores en segundo plano (modo "detached").
docker-compose up -d

2.2 docker-compose down

Detiene y elimina los contenedores, redes y volúmenes creados por docker-compose up.

docker-compose down
  • Opción --volumes: Elimina los volúmenes asociados.
docker-compose down --volumes

2.3 docker-compose build

Construye o reconstruye las imágenes de los servicios definidos en el archivo docker-compose.yml.

docker-compose build
  • Opción --no-cache: Construye las imágenes sin usar la caché.
docker-compose build --no-cache

2.4 docker-compose start

Inicia los contenedores detenidos sin recrearlos.

docker-compose start

2.5 docker-compose stop

Detiene los contenedores sin eliminarlos.

docker-compose stop

2.6 docker-compose restart

Reinicia los contenedores.

docker-compose restart

2.7 docker-compose ps

Lista los contenedores que están siendo gestionados por Docker Compose.

docker-compose ps

2.8 docker-compose logs

Muestra los logs de los contenedores.

docker-compose logs
  • Opción -f: Sigue los logs en tiempo real.
docker-compose logs -f

2.9 docker-compose exec

Ejecuta un comando en un contenedor en ejecución.

docker-compose exec <service_name> <command>

Ejemplo: Acceder a una shell en el contenedor del servicio web.

docker-compose exec web /bin/bash

2.10 docker-compose run

Ejecuta un comando en un nuevo contenedor de uno de los servicios definidos.

docker-compose run <service_name> <command>

Ejemplo: Ejecutar un comando en un nuevo contenedor del servicio web.

docker-compose run web echo "Hello, World!"

  1. Ejercicios Prácticos

Ejercicio 1: Crear y Ejecutar Contenedores

  1. Crea un archivo docker-compose.yml con el siguiente contenido:
version: '3'
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: example
  1. Ejecuta los siguientes comandos y observa los resultados:
docker-compose up -d
docker-compose ps
docker-compose logs
docker-compose stop
docker-compose start
docker-compose down

Ejercicio 2: Ejecutar Comandos en Contenedores

  1. Con el mismo archivo docker-compose.yml, ejecuta los siguientes comandos:
docker-compose up -d
docker-compose exec web /bin/bash
docker-compose exec db psql -U postgres
docker-compose down

  1. Resumen

En esta sección, hemos cubierto los comandos esenciales de Docker Compose que te permiten gestionar aplicaciones multi-contenedor de manera eficiente. Desde arrancar y detener contenedores hasta ejecutar comandos dentro de ellos, estos comandos son fundamentales para cualquier desarrollador que trabaje con Docker Compose.

Próximos Pasos

En la siguiente sección, exploraremos cómo definir servicios en Docker Compose, lo que te permitirá configurar aplicaciones más complejas y personalizadas.

© Copyright 2024. Todos los derechos reservados