LinuxParty

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

Este es nuestro tercer artículo en esta serie. La guía de hoy trata sobre cómo acceder a los contenedores de Docker después de crearla y cómo exponer la red de un contenedor.

Una vez que iniciemos un contenedor desde una imagen, seguro que nuestro pensamiento será cómo podemos SSH en el contenedor o cómo acceder a SHELL . Veamos primero como iniciar sesión.

Paso 1: Accediendo al contenedor SHELL

Para iniciar sesión en un contenedor que sea posible mientras se inicia, de lo contrario, podemos acceder al shell en cualquier momento utilizando la opción "exec -it /bin/bash".

# docker exec -it nginx-test-server /bin/bash # Para acceder a SHELL después de lanzar un contenedor. 
  • -i Tomar una shell interactiva.
  • -t Para adquirir un TTY
  • -exec para ejecutar un comando en el contenedor en ejecución.

Escriba "exit" para salir del contenedor e intente crear un nuevo contenedor. Además, acceda a su shell de una sola vez.

# docker run --name new-test-server -it nginx /bin/bash #Para iniciar un contenedor y acceder al shell. 

Paso 2: inspeccionar el puerto de red de un contenedor en ejecución

Cuando se lanza un contenedor docker, no podemos acceder a él desde el exterior, pero al mismo tiempo el contenedor puede comunicarse con el mundo exterior sin ninguna restricción. Para acceder desde el mundo exterior, debemos vincular los puertos al iniciar un contenedor para que cree una regla de enmascaramiento de IPtables que permita al mundo exterior acceder al contenedor.

Ahora vamos a enlazar el puerto ( 8080 ) desde el host de Docker al puerto de contenedor ( 80 ). Al hacer un enlace, podemos llegar al servidor web que se ejecuta en el contenedor. Mientras se inicia uno, es posible asignar un reenvío de un puerto como se muestra en la siguiente figura

# docker run --name newIP-test-server -p 8080:80 -d -it nginx 
  • –name Nombre del contenedor a punto de crear
  • -p Para especificar el puerto de reenvío desde el origen al destino.
  • -d Ejecutando un contenedor en modo Separado
  • -i Tomar una shell interactiva.
  • -t Para adquirir un TTY

Para conocer la dirección IP del contenedor en ejecución y su puerto expuesto, podemos usar la opción " inspeccionar ".

Al ejecutar inspeccionar en un contenedor, imprimirá toda la información sobre el contenedor.

# docker inspect newIP-test-server

Para conocer la dirección IP y los puertos expuestos desde el contenedor, use un grep.

# docker inspect newIP-test-server | grep -i -A 1 'IPAddress\|ExposedPorts'

En caso de que solo necesite saber el uso de la " Dirección IP " con la opción " -f " y el argumento de inspección.

# docker inspect -f '{{ .Config.ExposedPorts }}' newIP-test-server

Verifiquemos las reglas de iptables en el host. Podemos notar que se agregó con dos reglas.

Ahora llegamos a conocer la dirección IP y el puerto del contenedor Nginx. Es hora de verificar, intentemos llegar al servidor web utilizando curl. Si obtenemos la " página de bienvenida de Nginx" estamos bien con todos los pasos anteriores.

# curl http://localhost:8080

Incluso podemos especificar una dirección IP para el reenvío de puertos de la siguiente manera.

# docker run -d --name web_server_with_ip -p 192.168.107.107:8080:80 nginx

Eso es todo, hemos lanzado un contenedor Docker e inspeccionado la IP / Puerto de este. Luego hemos expuesto la red para acceder desde cualquier lugar.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política