Docker网络模型(六)使用 host 网络

使用 host 网络

如果一个容器使用的是 host 网络模式, 那么此容器的协议栈将不会跟 Docker 的宿主机隔离(容器会跟宿主机共享同一个网络 namespace),此容器也不会获得单独的 IP 地址。例如,如果你跑着一个使用了 host 模式且绑定了80端口的容器,那么该容器的应用程序就可以在宿主机 IP 地址的80号端口上使用。

注意

鉴于在使用 host 模式联网时容器没有自己的IP地址,端口映射不会生效,而且 -p--publish-P, 和 --publish-all 选项被忽略,而是产生一个警告:

WARNING: Published ports are discarded when using host network mode

Host 模式网络在优化性能方面很有用,在容器需要处理大量端口的情况下也很有用,因为它不需要网络地址转换(NAT),而且不会为每个端口创建 "用户区代理(userland-proxy,关键字 docker-proxy)"。

Host 网络驱动只适用于 Linux 主机,不支持 Docker Desktop for Mac、Docker Desktop for Windows 或 Docker EE for Windows Server。

你可以在 swarm 服务上使用 host 网络,方法是在执行 docker service create 命令时使用 --network host。在这种情况下,控制流量(与管理 swarm 和服务有关的流量)依然通过 overlay 网络传递,单独的 swarm 服务容器则使用 Docker daemon 的宿主机网络和端口发送数据。这会带来一些额外的限制。举个例子,如果一种服务容器绑定了80端口,那在同一个 swarm 节点上,只能有一个这种服务容器。

下一步

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值