‫Para esta conferencia, debe comprender algunos de los conceptos previos sobre la creación de redes y también
‫sobre la creación de contenedores.
‫Ahora que entendemos los conceptos de la red Docker y cómo funcionan todas las funciones de
‫red virtual e IP, veamos algunas de las opciones de línea de comando para administrarla.
‫Primero, está la red obvia ls. Como podemos crear múltiples redes, seguramente tenemos un
‫comando ls para listarlas.
‫Tenemos el comando de inspección habitual al que probablemente ya estés acostumbrado por todas las otras inspecciones
‫que estamos haciendo.
‫Eso nos mostrará los detalles sobre una red específica.
‫Luego tenemos un comando de creación que tiene un controlador opcional que podemos especificar para usar
‫controladores incorporados y de terceros para crear una nueva red virtual.
‫Luego tenemos los comandos de conexión y desconexión para cambiar un contenedor de ejecución en vivo para que se cree
‫una nueva NIC en una red virtual para ese contenedor.
‫Es como pegar una tarjeta de red en una computadora mientras se está ejecutando.
‫Así que, aquí vamos.
‫Así que de vuelta a mi línea de comando. de aprender, puedo hacer una red docker ls.
‫Tomando los conceptos que acabamos Esto me muestra todas las redes que se han creado. En este caso, cuando ejecuta el
‫mismo comando, probablemente verá los mismos tres. Dependiendo de su sistema operativo
‫y la versión de Docker, es posible que vea la red del puente llamada docker0
‫o bridge, pero ambos significan lo mismo. ¿Cuál es la red predeterminada que une el cortafuegos NAT con la red
‫física a la que está conectado su host? Hasta ahora, no hemos tenido que preocuparnos porque
‫todos nuestros contenedores se han unido a esa red y funcionado.
‫Ahora que tenemos este contenedor Nginx ejecutándose, si inspecciono una red acoplable, la red puente, realmente verá que enumera
‫los contenedores conectados a esa red. llamamos webhost, está adjunto allí.
‫Verás que nuestro Nginx, que
‫De hecho, puede ver su dirección IP. Y verá aquí que estas redes asignan automáticamente direcciones IP, y le
‫muestra aquí con la configuración de IPAM que la subred tiene el valor predeterminado 172. 17, que suele ser la
‫red predeterminada para cualquier host Docker.
‫Pero se puede cambiar, y luego la puerta de enlace de esta red que eventualmente se dirigirá a
‫la red física.
‫Si regresamos a la red de la estación de acoplamiento, podremos ver estas otras dos redes. hablamos antes, que es una red especial
‫que omite la red virtual de Docker y conecta el contenedor directamente a la interfaz de host.
‫La red de host es de lo que
‫Como se puede imaginar, existen ventajas y desventajas porque evita que los límites
‫de seguridad de la contenedorización protejan la interfaz de ese contenedor.
‫Pero también, en determinadas situaciones, puede mejorar el rendimiento de las redes de alto
‫rendimiento y solucionar algunos otros problemas con software especial específico.
‫Luego tenemos el último de ninguno, que es el equivalente a tener una interfaz en crea
‫su computadora que no está conectada a nada, pero podemos crear la nuestra. Ahora vamos a hacer
‫Vamos a crear una red Docker. my_app_net. una red Docker nuevamente. Notarás que creó mi nueva red virtual con un controlador de puente.
‫Y eso es porque ese es el controlador predeterminado.
‫Es un controlador simple que simplemente crea una red virtual localmente con su propia
‫subred en algún lugar alrededor del 172. 17 y superior, porque aumentará a medida que avanza. Entonces, 17, luego 18, 19, 20 y así sucesivamente.
‫No tiene ninguna de las características avanzadas que podríamos ver más adelante en este curso, como redes superpuestas que permiten la creación de redes
‫privadas entre hosts y otros controladores de terceros como Weave.
‫Si observa el comando de red de la
‫ventana acoplable con ayuda, verá que puedo especificar no solo el controlador que quiero
‫usar, sino muchas opciones de red y de IP que podría necesitar en un escenario avanzado.
‫Podemos hacer varias cosas con estas redes y cómo las conectamos a nuestros contenedores.
‫Podemos usar la opción --network cuando creamos un contenedor.
‫Entonces, el contenedor Docker ejecuta el nombre
‫nuevo nginx, y luego la red, y
‫luego mi red de aplicaciones, y luego la imagen nginx.
‫Si hiciéramos una inspección de la red de Docker en la red de mi aplicación, vería que el nuevo
‫Nginx que acabo de crear ahora está en esa red. Tiene una nueva dirección IP de 172. 18.
‫Entonces, es la siguiente subred en la lista.
‫Pero en realidad no tenemos que iniciar contenedores nuevos, porque
‫al igual que en el mundo real, donde puede desconectar y volver a conectar en
‫dispositivos Ethernet y volver a conectarse a redes inalámbricas, también puede hacer lo mismo con redes existentes y contenedores existentes.
‫Para esto, utilizamos las opciones de conexión y desconexión de la red Docker y puede usar --help para
‫ver todas las opciones allí para la red Docker.
‫En este caso, lo que queremos hacer es hacer una red Docker, y queremos tomar primero el contenedor
‫existente que creamos y conectarlo a nuestra nueva red.
‫Voy a elegir la nueva red de mi aplicación, y luego voy a elegir el servidor web original que creamos.
‫Ahora bien, si inspecciono el contenedor docker de
‫mi servidor web original, verá que en realidad ahora está en dos redes. La red puente original, y básicamente hice el equivalente de
‫darle una nueva interfaz Ethernet en una red diferente, con una IP diferente que se
‫recibió del DHCP.
‫Entonces ahora estamos en la red 17 en la red 18.
‫Si quisiera desconectar eso, podría hacer lo mismo con solo desconectarme. Luego, si volví y realicé una inspección nuevamente, verás que
‫ahora está de vuelta con solo una red.
‫en un único servidor, en este caso , puedes protegerlos realmente.
‫Como puede ver, hay muchas opciones interesantes para la red Docker y realmente el
‫objetivo final aquí, y una cosa que me encanta presumir con los contenedores, es que si está ejecutando todas las aplicaciones Porque en el mundo físico en el que creábamos máquinas virtuales y servidores
‫en una red, a menudo sobreexpusimos los puertos y las redes
‫en nuestros servidores de aplicaciones.
‫En estos casos, si tomara los contenedores de su aplicación y los tuviera todos juntos en una red en
‫una red virtual, solo expondrá
‫los puertos de su host con los que utiliza específicamente la opción -p. Y todo lo demás es un poco más
‫seguro con ese firewall protegido dentro de su red virtual.
‫Más adelante, cuando ingresemos a Docker Swarm, en realidad vamos a aprender sobre las redes de hosts múltiples y cómo esto mejora
‫aún más cuando comenzamos a escalar y escalar.
‫Para recapitular, acabamos de cubrir una serie de comandos para administrar redes Docker.
‫Jugamos con el ls y los comandos de inspección, creamos una
‫red Docker y usamos el controlador predeterminado de bridge.
‫En realidad no necesitamos usar un --driver.
‫Y, por último, probamos los comandos
‫connect connect y network disconnect para agregar y luego eliminar una NIC de un contenedor en ejecución.
‫