Preparar un archivo docker-compose.yml simple
En este paso, prepararemos un archivo docker-compose.yml
simple. Antes de comenzar, instalemos Docker Compose. Dado que el entorno de LabEx VM no tiene Docker Compose preinstalado, necesitamos instalarlo manualmente. Descargaremos el binario de Docker Compose y lo haremos ejecutable.
Primero, descarga el binario de Docker Compose usando curl
. Descargaremos la versión 1.29.2
, que es compatible con la versión instalada de Docker.
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 la página oficial de releases 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, asegurando que descargues el binario correcto.
A continuación, necesitamos hacer que el binario descargado sea ejecutable.
sudo chmod +x /usr/local/bin/docker-compose
Este comando agrega permisos de ejecución al archivo docker-compose
, permitiéndote ejecutarlo como un comando.
Ahora, verifiquemos que Docker Compose esté instalado correctamente comprobando su 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 y listo para usar.
Ahora, creemos un archivo docker-compose.yml
simple en tu directorio ~/project
. Este archivo definirá un único servicio usando la imagen nginx
.
nano ~/project/docker-compose.yml
Este comando abre el editor de texto nano
para crear y editar el archivo docker-compose.yml
. Pega el siguiente contenido en el editor:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Analicemos este archivo docker-compose.yml
:
version: '3.8'
especifica la versión del formato del archivo Docker Compose.
services:
define los servicios (contenedores) que deseas ejecutar.
web:
es el nombre de nuestro servicio. Puedes elegir cualquier nombre que prefieras.
image: nginx:latest
especifica la imagen de Docker a usar para este servicio. En este caso, estamos usando la última versión de la imagen oficial de Nginx.
ports:
mapea puertos entre la máquina host y el contenedor. "80:80"
mapea el puerto 80 en el host al puerto 80 en el contenedor. Esto significa que puedes acceder al servidor web Nginx que se ejecuta dentro del contenedor visitando http://localhost
en tu navegador web (o la dirección IP de la VM).
Guarda el archivo presionando Ctrl + O
, luego presiona Enter
, y sal del editor presionando Ctrl + X
.
Ahora has creado exitosamente un archivo docker-compose.yml
simple que define un servicio web usando la imagen de Nginx. En los siguientes pasos, usaremos este archivo para crear y gestionar contenedores.