Validar un archivo compose básico
En este paso, aprenderás cómo validar un archivo básico de Docker Compose. Antes de comenzar, necesitamos instalar Docker Compose ya que no viene preinstalado en este entorno.
Primero, descargaremos el binario de Docker Compose. Utilizaremos la versión 1.29.2, que es una versión estable y ampliamente utilizada.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Este comando descarga el binario de Docker Compose desde el repositorio oficial de GitHub y lo guarda en /usr/local/bin/docker-compose
. Las partes $(uname -s)
y $(uname -m)
detectan automáticamente tu sistema operativo y arquitectura para descargar el binario correcto.
A continuación, debemos dar permisos de ejecución al binario descargado.
sudo chmod +x /usr/local/bin/docker-compose
Este comando hace que el comando docker-compose
sea ejecutable.
Ahora, verifiquemos la instalación comprobando la versión.
docker-compose --version
Deberías ver una salida similar a docker-compose version 1.29.2, build 5becea4c
. Esto confirma que Docker Compose está instalado correctamente.
Ahora, creemos un archivo simple de Docker Compose. Crearemos un archivo llamado docker-compose.yml
en tu directorio ~/project
.
nano ~/project/docker-compose.yml
Agrega el siguiente contenido al archivo:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Este es un archivo Docker Compose muy básico. Define un único servicio llamado web
que utiliza la imagen nginx:latest
y mapea el puerto 80 del host al puerto 80 del contenedor.
Guarda el archivo y sal del editor nano (Presiona Ctrl + X
, luego Y
, luego Enter
).
Antes de ejecutar el archivo compose, es una buena práctica validar su sintaxis. Docker Compose proporciona un comando para esto: config
.
docker-compose config
Si la sintaxis de tu archivo docker-compose.yml
es correcta, este comando mostrará la configuración resuelta en formato YAML. Si hay errores de sintaxis, imprimirá un mensaje de error indicando el problema. Esto te ayuda a detectar errores temprano antes de intentar construir o ejecutar tus servicios.