跳到主要内容

Host Network

2024年07月04日
柏拉文
越努力,越幸运

一、认识


主机网络 (Host Network) 在这种模式下,容器与主机共享网络命名空间。容器的网络接口将直接使用主机的网络接口。相对于 Bridge 桥接模式 而言,在主机模式下,容器与主机共享网络命名空间。容器不会拥有自己的网络接口,而是直接使用主机的网络接口,无需配置端口映射,容器可以直接使用主机的网络资源。由于容器直接使用主机网络接口,避免了虚拟网络桥接的开销,性能较高。 但是 主机网络 模式下容器和主机共享网络命名空间,网络隔离性较差,可能会带来安全问题。

二、语法


启用主机网络模式

docker run --network host my_image

使用主机网络模式的容器可以直接使用主机的 IP 地址和端口。这种模式适用于对性能要求高的场景,但容器的隔离性较差。

三、测试


3.1 Nginx 主机网络

docker run -d --name nginx1 --network host  nginx:latest

通过 --network host 的方式,开启了主机网络模式,容器直接使用宿主机的网络接口,无需配置端口映射,容器可以直接使用主机的网络资源。所以,可以不用通过 -p 进行端口转发,也可以直接通过 宿主机IP:80 来访问容器服务。