Difficulty: Beginner
Estimated Time: 10 minutes

Docker networks

Step 1 of 3

La red bridge por defecto

Ejecuta tmux que nos permitirá hacer split de terminal tmux

Docker tiene un sistema pluggable(los llama drivers) para las operaciones de red. El driver más básico es bridge. Este nos permite crear una red virtual para conectar nuestros contenedores. También les permite acceso a internet (por IP Masquerade)

Por defecto Docker define una red de nombre 'bridge' con el mismo driver. Podemos ver las redes con el siguiente comando docker network ls

Vamos a lanzar dos distribuciones Linux Alpine en segundo plano y ver cómo Docker las conecta por defecto a esta red. docker container run -dit --name alpine1 alpine ash docker container run -dit --name alpine2 alpine ash

Ash es el intérprete de comandos que trae Alpine. Estamos ejecutando ash sobre la imagen alpine, le estamos dando nombre alpine1 al contenedor y la d de -dit es para que se ejecute en segundo plano y it porque queremos una sesión interactiva.

Deberías poder verlas docker container ls

Ahora vamos a averiguar la dirección IP que les asignó Docker en la red virtual bridge. docker network inspect bridge

Si vamos a la sección Containers, podemos ver las ips de nuestros contenedores bajo el campo IPv4Address. Anota estas direcciones.

Ahora vamos a pasar al frente la sesión de uno de nuestros alpines docker container attach alpine1

Puedes verificar que la dirección que 've' el contenedor es la misma que vimos antes ìp addr show

Ejercicio: Haz ping al otro contenedor ping ???.???.???.???

Comprobamos que también se puede acceder al exterior ping -c 2 google.com

Para salir sin terminar el proceso puedes utilizar la secuencia CTRL+P CTRL+Q si estás en tu máquina, si estás en Katacoda tendrás que dejar la sesión abierta y conseguir otro terminal utilizando la combinación CTRL+" o CTRL+%

Terminamos los contenedores y los borramos

docker container stop alpine1 alpine2 docker container rm alpine1 alpine2