【Docker】Red avanzada de Docker (Red)

【Docker】Red avanzada de Docker (Red)


Documento de referencia: Docker de configuración de red avanzada: de la entrada a la práctica (docker-practice.github.io)

1. Información general

docker0Cuando se inicie Docker, creará automáticamente un puente de red virtual en el host , que en realidad es un puente de Linux, que puede entenderse como un conmutador de software. Reenviará entre los puertos de red montados en él.

Al mismo tiempo, Docker asigna aleatoriamente una dirección en un segmento de red privada local desocupado (definido en RFC1918docker0 ) a la interfaz. Por ejemplo, normalmente 172.17.42.1, la máscara es 255.255.0.0. Al puerto de red en el contenedor iniciado después de eso también se le asignará automáticamente una 172.17.0.0/16dirección del mismo segmento de red ( ).

Cuando se crea un contenedor Docker, se crea un par de interfaces al mismo tiempo veth pair(cuando se envía un paquete de datos a una interfaz, la otra interfaz también puede recibir el mismo paquete de datos). Un extremo de este par de interfaces está dentro del contenedor, es decir eth0, el otro extremo es local y está montado en docker0un puente con un nombre vethque comienza con (por ejemplo vethAQI2QT). De esta forma, el host puede comunicarse con el contenedor y los contenedores pueden comunicarse entre sí. Docker crea una red virtual compartida entre el host y todos los contenedores.

Red acoplable

Aviso:

  • De forma predeterminada, la ventana acoplable conecta todos los contenedores al puente de red al crear contenedores docker0y, de forma predeterminada, todos docker0los contenedores en el puente pueden usar la dirección IP del contenedor para comunicarse.
  • Los contenedores también pueden usar el nombre del contenedor como la IP del contenedor para comunicarse, siempre que se deba usar un puente personalizado en lugar del predeterminado.docker0

2.Internet

2.1 tipo de puente

Hay cuatro tipos de puentes en docker:

  1. **Puente **: modo de red puente (predeterminado)
  2. Anfitrión : modo de red abierta, compartiendo la red con el anfitrión
  3. Contenedor : modo de red de montaje conjunto, compartiendo la red con otros contenedores
  4. Ninguno : modo de red cerrado, no hay ninguna red configurada para el contenedor

2.2 Crear un puente personalizado de red

Primero mire los parámetros del comando docker relacionados con la red:

docker network --help

imagen-20230714165330498

Vea los parámetros de la línea de comando para crear un puente:

docker network create --help

imagen-20230714165413184

Significado del parámetro:

  • -d: especifica el tipo de puente, el valor predeterminado esbridge

Crea un testpuente llamado:

docker network create -d bridge test

imagen-20230714165724990


2.3 Ver todas las redes

docker network ls

imagen-20230714165928694


2.4 Ver detalles de una red específica

Ver heimadetalles de una red llamada:

docker network inspect heima 
imagen-20230714170129217

2.5 Eliminar red específica

Eliminar testla red denominada:

docker network rm test

Una vez completada la eliminación, verifique si la red aún existe y descubra que efectivamente se eliminó. como muestra la imagen:

imagen-20230714170326015


2.6 Múltiples contenedores usan una red específica

1) Al iniciar el contenedor, especifique qué nombre de red usa el contenedor

docker run -d --network 网络名 ...

2) Agregue el contenedor a una red después del inicio

docker network connect 网络名 容器id(name)

Supongo que te gusta

Origin blog.csdn.net/Decade_Faiz/article/details/131728528
Recomendado
Clasificación