Probando Docker Compose
Ahora que hemos instalado Docker Compose con éxito, creemos un proyecto simple para probar que funciona correctamente.
Crear un Directorio de Proyecto
Primero, creemos un directorio para nuestro proyecto de prueba:
mkdir -p ~/project/docker-compose-test
cd ~/project/docker-compose-test
Crear un Archivo de Configuración de Docker Compose
Ahora, creemos un archivo docker-compose.yml simple usando el editor nano:
nano docker-compose.yml
Agregue el siguiente contenido al archivo:
version: "3"
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
Esta configuración define un servidor web simple usando la imagen Nginx. Mapea el puerto 8080 en su host al puerto 80 en el contenedor y monta un directorio local para servir contenido HTML.
Guarde el archivo presionando Ctrl+O, luego Enter, y salga de nano con Ctrl+X.
Crear Contenido HTML
Creemos un directorio para nuestro contenido HTML y un archivo HTML simple:
mkdir -p html
nano html/index.html
Agregue el siguiente contenido al archivo HTML:
<!DOCTYPE html>
<html>
<head>
<title>Docker Compose Test</title>
</head>
<body>
<h1>Hello from Docker Compose!</h1>
<p>If you can see this, your Docker Compose setup is working correctly.</p>
</body>
</html>
Guarde el archivo y salga de nano.
Iniciar la Aplicación Docker Compose
Ahora, iniciemos nuestra aplicación Docker Compose:
docker compose up -d
Debería ver una salida similar a:
[+] Running 2/2
⠿ Network docker-compose-test_default Created
⠿ Container docker-compose-test-web-1 Started
Esto indica que Docker Compose ha creado una red e iniciado el contenedor Nginx.
Verificar que la Aplicación se Está Ejecutando
Verifiquemos que nuestro contenedor se esté ejecutando:
docker compose ps
Debería ver una salida similar a:
NAME COMMAND SERVICE STATUS PORTS
docker-compose-test-web-1 "/docker-entrypoint.…" web running 0.0.0.0:8080->80/tcp
Ahora, enviemos una solicitud al servidor web para verificar que está sirviendo nuestro contenido:
curl http://localhost:8080
Debería ver el contenido HTML que creamos:
<!DOCTYPE html>
<html>
<head>
<title>Docker Compose Test</title>
</head>
<body>
<h1>Hello from Docker Compose!</h1>
<p>If you can see this, your Docker Compose setup is working correctly.</p>
</body>
</html>
¡Genial! Ha creado y ejecutado con éxito una aplicación Docker Compose.
Detener la Aplicación Docker Compose
Para detener y eliminar los contenedores, las redes y los volúmenes creados por Docker Compose, ejecute:
docker compose down
Debería ver una salida similar a:
[+] Running 2/2
⠿ Container docker-compose-test-web-1 Removed
⠿ Network docker-compose-test_default Removed
Esto confirma que Docker Compose ha limpiado los recursos que creó.