Crear un archivo docker-compose.yml simple
En este paso, crearemos un archivo docker-compose.yml
simple. Antes de comenzar, necesitamos instalar Docker Compose. Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker multi-contenedor. 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 el binario de Docker Compose y lo 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, puedes verificar la instalación comprobando la versión de Docker Compose.
docker-compose --version
Deberías ver una salida similar a Docker Compose version v2.20.2
.
Ahora, creemos un directorio para nuestro proyecto y accedamos a él.
mkdir my-docker-app
cd my-docker-app
Dentro del directorio my-docker-app
, crearemos un archivo llamado docker-compose.yml
. Este archivo definirá los servicios para nuestra aplicación. Usaremos el editor nano
para crear y editar este archivo.
nano docker-compose.yml
En el editor nano
, pega el siguiente contenido. Este archivo docker-compose.yml
define un único servicio llamado web
que utiliza la imagen nginx:latest
.
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Analicemos este archivo:
version: '3.8'
especifica la versión del formato del archivo Docker Compose.
services:
define los servicios que componen tu aplicación.
web:
es el nombre de nuestro servicio.
image: nginx:latest
especifica la imagen Docker a usar para este servicio. En este caso, usamos la última versión de la imagen Nginx.
ports:
mapea puertos entre el host y el contenedor. "80:80"
mapea el puerto 80 del host al puerto 80 del contenedor.
Después de pegar el contenido, guarda el archivo presionando Ctrl + X
, luego Y
, y finalmente Enter
.
Antes de iniciar el servicio, debemos asegurarnos de que la imagen nginx:latest
esté disponible localmente. Si no lo está, Docker Compose la descargará automáticamente cuando inicies el servicio. Sin embargo, también puedes descargar la imagen manualmente usando el comando docker pull
.
docker pull nginx:latest
Este comando descarga la imagen nginx:latest
desde Docker Hub.