Docker incorpora en sus funciones de comunicación la posibilidad de crear networking interactivo. Entre las opciones destacadas podemos encontrar los siguientes tipos de interfaces:
Host: utiliza los recursos de las interfaces de red activas en el equipo. Puede verse representado como las funciones de NAT en una red.
Bridge: La red por defecto en Docker, se puede ver reflejada en nuestro equipo como docker0 al ejecutar en la linea de comandos #ifconfig o #ip addr
none: significa que el contenedor no incluye adaptador de red, por defecto solo tendria la interfaz de loopback lo.
A continuación se muestran los comandos necesarios para generar y acceder a redes en Docker:
- docker network create [red] -- Crea una red.
- docker network connect -- Conecta un contenedor de una red.
- docker network ls -- Lista redes existentes en un host de docker.
- docker network rm -- Elimina una red.
- docker network disconnect -- Permite desconectar un contenedor de una red.
- docker network inspect -- Muestra información sobre las redes de Docker.
--link [nombre del contenedor] -- Enlaza un contenedor a una red y asà acceder a ellos por medio de su nombre.
Iniciar el proceso de creación de una red nos da acceso a muchas opciones entre las cuales se encuentran la posibilidad de agregas parámetros especÃficos de funcionamiento de la red que estamos creando. De las mas utilizadas se encuentran:
- Driver: Existen múltiples drivers de funcionamiento
- bridge: El controlador de crea una red privada interna al host para que los contenedores en esta red puedan comunicarse. El acceso externo se concede exponiendo puertos a contenedores:
- Overlay: Este controlador utiliza un plano de datos VXLAN estándar de la industria que desacopla la red del contenedor de la red fÃsica subyacente. Esto tiene la ventaja de proporcionar la máxima portabilidad a través de varias redes en la nube y locales(Este driver solo esta disponible en host que corran con Swarm Manager...proximamente incluire las imagenes)
- MACVLAN: Este tipo de configuración se puede usar para extender múltiples VLAN L2 a través de la interfaz del host directamente a los contenedores:
[
{
"Name": "macvlan-networ",
"Id": "58283e617b9f7b7e3c86142b3ab9ce64514ac61f2ef36dc4d75c2f82cbee0f07",
"Created": "2018-03-12T10:31:38.590583455-05:00",
"Scope": "local",
"Driver": "macvlan",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "192.168.100.0/24",
"Gateway": "192.168.100.254"
}
]
En una próxima actualización de este post incluiré el tag de vlans en macvlan y la utilización de overlay. Espero que esta información sea de ayuda para ustedes.
Gracias por leerme.
0 Comments