在使用docker启动服务的时候遇到警告WARNING: Published ports are discarded when using host network mode,其解释的意思就是在使用docker启动的时候如使用host网络模式,将会抛弃Published ports端口设置。Docker共有四种网络模式。本文地址:http://www.04007.cn/article/1047.html,未经许可,不得转载.
Docker网络模式 配置 说明
host模式 –net=host 容器和宿主机共享Network namespace。
container模式 –net=container:NAME_or_ID 容器和另外一个容器共享Network namespace。 kubernetes中的pod就是多个容器共享一个Network namespace。
none模式 –net=none 容器有独立的Network namespace,但并没有对其进行任何网络设置,如分配veth pair 和网桥连接,配置IP等。
bridge模式 –net=bridge (默认为该模式)
详细介绍:https://www.jianshu.com/p/22a7032bb7bd本文地址:http://www.04007.cn/article/1047.html,未经许可,不得转载.
即docker启动时指定--network=host或-net=host让容器和宿主机共享Network namespace,这时再指定-p或-P就会有此警告,并且-p或-P设置的参数也不会生效。本文地址:http://www.04007.cn/article/1047.html,未经许可,不得转载.
解决的办法就是使用docker的其他网络模式,例如--network=bridge,这样就可以解决问题。通过上面的比较,如果在允许的条件下感觉使用host模式是网络性能最好的。host模式可以直接使用宿主机的IP地址与外界通信,容器内部的服务端口也可以使用宿主机的端口,不需要进行NAT。不过docker的各个host模式的容器不能有端口冲突。本文地址:http://www.04007.cn/article/1047.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1047.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |