¿Qué hace realmente la opción -net = host en el comando Docker??

¿Qué hace realmente la opción -net = host en el comando Docker??
Docker es un foro de código abierto y bien establecido que se usa con frecuencia para crear, ejecutar y distribuir aplicaciones en contenedores. Los contenedores son paquetes ejecutables que encapsulan las dependencias y el código de la aplicación. Para implementar la aplicación contenedorizada, puede ejecutar estos contenedores en diferentes redes, como host, puente o redes definidas por el usuario.

Este artículo explicará lo que el "-net = hostLa opción lo hace en el comando Docker.

¿Qué hace la opción "-net = host" en el comando Docker?

El "-netoOpción "en el"Docker RunEl comando se utiliza para especificar la red para el contenedor Docker. Por defecto, los contenedores se ejecutan en la red Bridge. Sin embargo, el "-net = hostLa opción se puede utilizar para ejecutar el contenedor en la red de host. Le da al contenedor Docker más acceso a la red de lo que normalmente lo habría.

Cómo ejecutar el comando "Docker Run" con y sin la opción "-net = host"?

Para verificar la diferencia entre los contenedores que se ejecutan en la red predeterminada y la red de host, mire los ejemplos enumerados:

  • Utilizar el "Docker Run"Comando sin el"-net-anfitrión" Opción.
  • Utilizar el "Docker Run"Comando con el"-net-anfitrión" Opción.

Cómo usar el comando "Docker Run" sin la opción "-net-host"?

Por defecto, la plataforma Docker proporciona tres redes: "puente","anfitrión", y "ninguno". Para enumerar todas las redes, eche un vistazo al siguiente ejemplo:

> Docker Network LS

Cuando el contenedor se ejecuta sin especificar ninguna red, de forma predeterminada, utilizará la red de puentes. Para la demostración, consulte los pasos a continuación.

Paso 1: Haz un Dockerfile

Haga un Dockerfile para contener el "golang"Programa y pegue las instrucciones dadas en el archivo:

De Golang: 1.8
WorkDir/Go/SRC/App
Copia principal.ir .
Ejecutar ir compilación -o servidor web .
Exponer 8080: 8080
CMD ["./Servidor web"]

Paso 2: Build Docker Image

A continuación, genere la imagen de DockerFile con la ayuda del comando proporcionado. El "-TLa opción en el comando a continuación especifica el nombre de la imagen:

> Docker Build -t go -img .

Paso 3: ejecute el contenedor Docker

Utilizar el "Docker RunComando "para ejecutar el contenedor en la red seleccionada predeterminada. El "-dLa opción "ejecuta el contenedor en modo separado:

> Docker Run -d GO -IMG

Ahora, enumere el contenedor y verifique si el contenedor se ejecuta en la red predeterminada o no:

> Docker PS -A

Si la salida muestra algún puerto de exposición como "TCP/"Significa que el contenedor se está ejecutando en una red predeterminada y si no hay salida en"puerto"Columna o salida como"0.0.0.0: 8080 → 8080/TCP"Significa que el contenedor se está ejecutando en el host:

De la salida anterior, puede ver que nuestro contenedor se está ejecutando en la red seleccionada predeterminada "puente".

Cómo usar el comando "Docker Run" con la opción "-net-host"?

Para ejecutar el contenedor en la red host, utilice el "-net = host"Opción como se muestra a continuación:

> Docker Run -d --net = host go -img

Para la verificación, enumere todos los contenedores. Aquí, no se muestra ninguna salida en el "puertoColumna ", lo que significa que nuestro contenedor se está procesando en la red de host y se puede acceder en cualquier puerto de la red de host:

> Docker PS -A

Esto se trata de lo que "-net = host"La opción lo hace y cómo usarlo en Docker.

Conclusión

El "-net = hostLa opción se utiliza para ejecutar el contenedor Docker en la red de host. Si esta opción no se especifica en el "Docker Run"Comando, su contenedor medio se ejecutará en la red Bridge. Para ejecutar el contenedor en el host, utilice el "Docker Run -net = opción " dominio. Este artículo ha demostrado lo que el "-net = hostLa opción lo hace en el comando Docker.