docker网络模型之---Host模式

  使用docker网络的host模式时,使用下面的命令启动一个容器,当容器启动后,在容器中可以看到宿主机中所有的网络设备,这种方式下在Container中可以操作宿主机的网络资源。
 如果启动容器的时候使用 host 模式,那么这个容器将不会获得一个独立的 Network Namespace,而是和宿主机共用一个 Network Namespace。容器将不会虚拟出自己的网卡,配置自己的 IP 等,而是使用宿主机的 IP 和端口。这样网络的隔离性基本就丧失了,由于这是Container共享Host的网络和端资源,也就是有些端口宿主机可能已经占用,Container无法再使用。

[root@10-10-63-106 ~]# docker run -i -t --net=host centos6.3-base-v2 /bin/bash

[root@10-10-63-106 /]#

[root@10-10-63-106 /]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 52:54:00:D0:A6:2A 

          inet addr:10.10.63.106  Bcast:10.10.255.255  Mask:255.255.0.0

          inet6 addr: fe80::5054:ff:fed0:a62a/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:10556531 errors:0 dropped:0 overruns:0 frame:0

          TX packets:11149744 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:2811097616 (2.6 GiB)  TX bytes:2155625978 (2.0 GiB)

 Docker ContainerHost模式,由于使用host的网络资源,不需要额外的网桥和建立虚拟的网卡资源。相当于父进程在创建子进程的过程中,由于没有传入CLONE_NEWNET所以我们ContainerHost共享同一个网络环境。采用这种方式的Container如果Hosteth接口配置的是公网的IP地址,则Container可以直接使用HostIP地址提供服务,无需进行NAT地址的转换,提高了效率。这时的Container不再拥有独立的端口号资源,而是需要和Host进行竞争端口资源。
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值