Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4516438
  • 博文数量: 252
  • 博客积分: 5347
  • 博客等级: 大校
  • 技术积分: 13838
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-30 10:13
文章分类
文章存档

2022年(12)

2017年(11)

2016年(7)

2015年(14)

2014年(20)

2012年(9)

2011年(20)

2010年(153)

2009年(6)

分类: 云计算

2016-06-05 11:21:49

  使用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进行竞争端口资源。
 


阅读(9334) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~