análisis acoplable a fondo de modo de red

I. Introducción

Cuando acoplable acoplable dirigido a crear una basada en contenedores, se puede utilizar el modo de red opción especificada contenedor -net, red en modo automático acoplable tiene los cuatro siguientes:

  • modo de host, -net = host especificado;
  • modo de contenedor, -net = contenedor: NAME_or_ID especificado;
  • modo ninguno, -net = ninguno especificado;
  • el modo de puente, -net = se especifica puente, la configuración predeterminada;

Dos, el modo de anfitrión (no se recomienda)

contenedores de Docker serán asignados por defecto para ejecutar un subsistema de aislamiento de la red de espacio de nombres separado, basado en un modo de servidor, el contenedor no obtendrá una Red de Espacio de nombres separado, pero el anfitrión y compartir un espacio de nombres de red, el contenedor no será su propia configuración de la tarjeta de red virtual propia IP, etc., pero el uso de IP y el puerto del host.

Tres, el modo de recipiente (no recomendado)

El contenedor de nueva creación no crea su propia tarjeta de red, configurar su propia IP, pero el contenedor especificado y una IP compartida, rango de puertos. Los mismos dos vasos además de las mismas redes, otros sistemas, tales como archivos, listas de proceso, o aislados.

Cuatro, modo de puente Puente (recomendado)

1, Fundamentos

modo de puente acoplable es el modo de red predeterminado, que asigna de red de espacio de nombres para cada contenedor, siempre que el IP, la configuración de enrutamiento, el valor predeterminado será contenedores acoplables conectado a un interruptor de puente virtual Docker0.

Anfitrión:
Aquí Insertar imagen DescripciónNota: Este docker0 tanto una tarjeta de puente es un interruptor de puente virtual, nota que es virtual. Puerta de enlace IP de contenedores dirección IP es la ventana acoplable.

contenedor ventana acoplable:
Aquí Insertar imagen Descripción
En primer lugar quiero decir que un fenómeno, abrimos un recipiente estibador, ifconfig será una cosa más:
Nota: Aquí abrí dos contenedores ventana acoplable:
Aquí Insertar imagen DescripciónNota: Veth nombre chino es un dispositivo de tarjeta de red virtual, que está emparejado después de comenzar el recipiente, un host en un extremo, llamado vethxxxx, un eth0 hombre llamado en el recipiente ventana acoplable (el nombre es fija)

2, la siguiente topología modo de puente

Aquí Insertar imagen Descripción

3, el mando brctl para ver los detalles del interruptor de puente virtual
yum install bridge-utils -y
brctl show

Aquí Insertar imagen Descripción

Cinco, el modo Ninguno (empresa recomienda)

Ninguno modelo sugiere es, nada la configuración de la red, no ip, ninguna tarjeta, no hay nada, por lo que es necesario utilizar la herramienta de configuración pipwork.
Nota: estibador ejecutar comandos en modo de red no la hay, puede asignación de puertos ya no -p, porque no hay ninguna IP, el puerto no puede ser asignada, ya que no se encontró una solución!
configuración de red actual pipwork

1, edición de archivos de la red ventana acoplable
vim /etc/sysconfig/docker-network
systemctl restart docker

Aquí Insertar imagen Descripción

2, editar el ifcfg-ens33, perfiles de red ifcfg-Br0
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33

DEVICE=ens33
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
BRIDGE="br0"
vim ifcfg-br0

DEVICE="br0"
BOOTPROTO=none
ONBOOT=yes
TYPE="Bridge"
IPADDR=172.16.193.200
NETMASK=255.255.255.0
GATEWAY=172.16.193.2 #利用pipework工具指定容器网关时,需要使用这个ip

NOTA: La pasarela caja de herramientas al lado de tuberías especificado no se puede utilizar la tarjeta IP interruptor de puente virtual

systemctl restart network #使配置生效
ifconfig

Aquí Insertar imagen DescripciónNota: La interfaz ens33 de puente para el adaptador de red virtual br0!

3, descargar, instalar la herramienta pipwork
git clone https://github.com/jpetazzo/pipework
cp ./pipework/pipework /usr/local/bin/
4, Start recipiente de modo Ninguno
docker run -itd -p 6022:22 --net=none docker.io/jdeathe/centos-ssh
ifconfig
5, usando las herramientas proporcionadas recipiente ventana acoplable red pipwork
pipework    br0       0ae0e8cff698 172.16.193.100/24@172.16.193.2
#	虚拟网卡交换机的名称   容器ID		 指定容器的IP      指定容器的网关
#注意这里网关不能填172.16.193.200,至于为什么请看下文详解!
docker exec -it 0ae0e8cff698 /bin/bash
yum install net-tools -y
ifconfig
route -n
ping www.baidu.com #看看网络是否通了,通了就对了!

Aquí Insertar imagen DescripciónMira, esto va a tener éxito, si se pone la puerta de entrada de contenedores para el adaptador de red IP interruptor de puente virtual (172.16.193.200), a continuación, puede hacer ping a la IP de la red interna, no la red externa

6. ¿Por qué puerta de enlace IP recipiente al puente conmutador virtual (br0) tarjeta de red (172.16.193.200) no funciona?

Por favor puente arquitectura modo combinado con el gráfico anterior entender!

Supongamos que establecemos su pasarela 172.16.193.200, porque no tenemos el interruptor de puente virtual función de encaminamiento, que se requiere que el enrutamiento de puerta de enlace. Por lo que no puede enrutar! Si se llena 172.16.193.2, 172.16.193.2 antes de llegar a la puerta de entrada es la dirección de difusión de LAN, la pasarela se puede encontrar, y la pasarela función de encaminamiento. ¿Por qué nos propusimos previamente pasarela 172.16.193.200 puede hacer! Desde la fusión ip ip y nuestros conmutadores virtuales de acogida del puente. Cuando llenas IP previamente consolidada es el anfitrión, el anfitrión es el enrutamiento de mesa es una función de enrutamiento, que pueda route -n.

Ha publicado 188 artículos originales · alabanza 150 won · vistas 30000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_44571270/article/details/104444960
Recomendado
Clasificación