Generar un gráfico básico a partir de un archivo compose
En este paso, aprenderás cómo generar una representación gráfica básica de tu archivo Docker Compose. Esto es útil para visualizar las relaciones entre tus servicios, redes y volúmenes.
Primero, necesitas instalar Docker Compose. Como no viene preinstalado en el entorno de LabEx, lo instalarás usando pip
.
sudo apt update
sudo apt install -y python3-pip
pip install docker-compose
Una vez completada 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 1.29.2, build 5becea4c
.
Ahora, creemos un archivo Docker Compose simple. Navega a tu directorio de proyecto y crea un archivo llamado docker-compose.yml
.
cd ~/project
nano docker-compose.yml
Agrega el siguiente contenido al archivo docker-compose.yml
:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
app:
image: ubuntu:latest
command: sleep infinity
Este archivo docker-compose.yml
define dos servicios: web
que utiliza la imagen nginx:latest
y app
que usa la imagen ubuntu:latest
. El servicio web
mapea el puerto 80 del host al puerto 80 del contenedor. El servicio app
simplemente ejecuta el comando sleep infinity
para mantener el contenedor en ejecución.
Para generar un gráfico básico a partir de este archivo compose, usarás el comando docker-compose config
con la bandera --graph
. Este comando analiza el archivo compose y genera una representación gráfica en formato DOT.
docker-compose config --graph
La salida estará en lenguaje DOT, que es un lenguaje de descripción de gráficos. Mostrará los servicios y sus conexiones básicas. Por ejemplo, podrías ver algo como:
digraph {
compound=true
"web" [label="web"]
"app" [label="app"]
"web" -> "app" [label="depends_on"]
}
Esta salida DOT representa un gráfico dirigido donde web
y app
son nodos, y hay una arista dirigida de web
a app
etiquetada como "depends_on". Aunque este ejemplo simple no define explícitamente dependencias, docker-compose config --graph
puede inferir algunas relaciones.