Preparar un proyecto simple de Docker Compose
En este paso, prepararemos un proyecto simple de Docker Compose. Como Docker Compose no viene preinstalado en el entorno de LabEx, primero lo instalaremos. Docker Compose es una herramienta para definir y ejecutar aplicaciones multi-contenedor de Docker. Con Compose, usas un archivo YAML para configurar los servicios de tu aplicación. Luego, con un solo comando, creas e inicias todos los servicios desde tu configuración.
Primero, instalemos Docker Compose. Descargaremos la última versión estable y la haremos ejecutable.
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Después de la instalación, verifícala comprobando la versión.
docker-compose --version
Deberías ver el número de versión en la salida, lo que confirma que Docker Compose está instalado correctamente.
Ahora, creemos un proyecto simple de Docker Compose. Crearemos un directorio para nuestro proyecto y luego un archivo docker-compose.yml
dentro. Este archivo definirá un servicio web simple usando la imagen nginx
.
Navega al directorio del proyecto.
cd ~/project
Crea un nuevo directorio para nuestro proyecto, por ejemplo, my-web-app
.
mkdir my-web-app
cd my-web-app
Ahora, crea el archivo docker-compose.yml
usando el editor nano
.
nano docker-compose.yml
Añade el siguiente contenido al archivo docker-compose.yml
:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Este archivo docker-compose.yml
define un servicio llamado web
. Este servicio usa la imagen Docker nginx:latest
y mapea el puerto 80 del host al puerto 80 del contenedor.
Guarda el archivo presionando Ctrl + X
, luego Y
, y Enter
.
Ahora, podemos iniciar los servicios definidos en el archivo docker-compose.yml
usando el comando docker-compose up
. La bandera -d
ejecuta los contenedores en modo detached, lo que significa que correrán en segundo plano.
docker-compose up -d
Este comando descargará la imagen nginx:latest
(si no está presente) e iniciará un contenedor para el servicio web
.
Puedes verificar el estado de los contenedores en ejecución con el comando docker ps
.
docker ps
Deberías ver un contenedor llamado my-web-app_web_1
(o similar, dependiendo del nombre del directorio) en ejecución y redirigiendo el puerto 80.
Para verificar que el servidor web está funcionando, puedes usar curl
para acceder a él.
curl http://localhost
Deberías ver el HTML de la página de bienvenida predeterminada de Nginx en la salida. Esto confirma que nuestro proyecto simple de Docker Compose está configurado y funcionando correctamente.