Iniciar un proyecto de Compose de ejemplo
En este paso, aprenderemos cómo iniciar un proyecto de Compose de ejemplo. Antes de poder usar Docker Compose, necesitamos instalarlo. Dado que el entorno de LabEx VM no tiene Docker Compose preinstalado, lo instalaremos primero.
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, podemos verificar la instalación comprobando la versión de Docker Compose.
docker-compose --version
Deberías ver la información de la versión impresa en la consola, lo que confirma que Docker Compose está instalado correctamente.
Ahora, creemos un proyecto simple de Compose. Crearemos un directorio para nuestro proyecto y luego crearemos un archivo docker-compose.yml
dentro de él. Este archivo definirá los servicios para nuestra aplicación.
Primero, crea un directorio llamado my-compose-app
.
mkdir ~/project/my-compose-app
cd ~/project/my-compose-app
A continuación, crea un archivo llamado docker-compose.yml
en el directorio ~/project/my-compose-app
usando el editor nano
.
nano docker-compose.yml
Agrega el siguiente contenido al archivo docker-compose.yml
. Este archivo define un único servicio llamado web
que utiliza la imagen nginx
.
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Guarda el archivo y sal del editor nano
(Presiona Ctrl + X
, luego Y
, luego Enter
).
Antes de iniciar el servicio, debemos asegurarnos de que la imagen nginx:latest
esté disponible localmente. Podemos descargar la imagen usando el comando docker pull
.
docker pull nginx:latest
Ahora que tenemos el archivo docker-compose.yml
y la imagen necesaria, podemos iniciar el proyecto de Compose usando el comando docker-compose up
. La bandera -d
ejecuta los servicios en modo desacoplado, lo que significa que se ejecutarán en segundo plano.
docker-compose up -d
Este comando creará e iniciará el servicio web
como se define en el archivo docker-compose.yml
. Deberías ver una salida que indica que el servicio se está creando e iniciando.
Para verificar que el servicio se está ejecutando, puedes usar el comando docker ps
para listar los contenedores en ejecución. Deberías ver un contenedor para el servicio web
.
docker ps
También puedes acceder al servidor web Nginx abriendo un navegador web y navegando a la dirección IP de tu LabEx VM. Como mapeamos el puerto 80 del contenedor al puerto 80 del host, deberías ver la página de bienvenida predeterminada de Nginx.