本节介绍None&Host网络。html
点击此处回到docker系列文章目录
nginx
前面咱们介绍了bridge network,本小节继续介绍none和host。这两个比较简单,也不太经常使用。安装Docker时自动建立了三个网络:web
[root@docker1 ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
c1bb643c9c5a bridge bridge local
59364623cee2 host host local
fb704391fb47 none null local
使用none网络的容器,只有一个lo网卡,路由表为空。也就是说这类容器是没法与其余容器通讯的,是彻底被隔离的容器。
它的用途是执行主机范围内的计算,还能够被其它network plugin(calico, weave)用来禁用docker自身的网络,进而提供network plugin的network stack。
使用none网络建立一个容器,docker run -it -d --network=none --name=testnone busybox
而后查看网卡:docker
[root@docker1 ~]# docker exec -it testnone sh
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
能够发现该容器内只有一个lo网卡,路由表为空。shell
用nginx镜像建立一个容器,使用host网络。命令:docker run -it -d --network=host --name=testhost nginx
进入容器,执行ip a或ip r,看到的结果和在host直接执行的结果同样。
测试:在Host上执行curl 127.0.0.1:80或curl 192.168.0.11:80,返回nginx欢迎信息。可是在其余机器上是访问不通的。
注意:编程
下一节,咱们介绍docker原生的overlay网络。点击此处回到docker系列文章目录。微信
做者原创,转载请声明出处!网络
本人微信公众号同步更新云计算、容器、网络、编程等文章,欢迎关注!app