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
来访问容器服务。