Inspección de detalles de contenedores
Docker ofrece herramientas poderosas para inspeccionar los detalles de tus contenedores. Vamos a explorarlas.
Para obtener información detallada sobre un contenedor, utiliza el comando inspect
:
docker inspect nginx-detached
Este comando devuelve una matriz JSON con información detallada sobre el contenedor. Puede resultar abrumador, así que usemos un filtro para obtener información específica.
Para obtener la dirección IP del contenedor:
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx-detached
Para ver el estado actual del contenedor:
docker inspect -f '{{.State.Status}}' nginx-detached
Estos comandos utilizan plantillas de Go para filtrar la salida. La opción -f
nos permite especificar una plantilla de formato.
También veamos las asignaciones de puertos:
docker port nginx-detached
La asignación de puertos permite que los contenedores se comuniquen con el sistema host o con redes externas. Asigna un puerto en el sistema host a un puerto dentro del contenedor. Esto es crucial para acceder a los servicios que se ejecutan dentro de los contenedores desde fuera del entorno Docker.
Si no se asignan puertos, este comando no producirá ninguna salida. En nuestro caso, no hemos asignado explícitamente ningún puerto para el contenedor nginx-detached
, así que probablemente no verás ninguna salida.
Para demostrar la asignación de puertos, creemos un nuevo contenedor Nginx con una asignación de puertos:
docker run -d --name nginx-with-port -p 8080:80 nginx
Este comando asigna el puerto 8080 del host al puerto 80 del contenedor. Ahora, si comprobamos las asignaciones de puertos:
docker port nginx-with-port
Deberías ver una salida similar a:
80/tcp -> 0.0.0.0:8080
Esto significa que el tráfico al puerto 8080 de tu máquina host se reenviará al puerto 80 del contenedor, donde Nginx está escuchando.