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:
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.