Docker-None & Host 网络

本节介绍None&Host网络。html

1.前言

点击此处回到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

2.None网络

使用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

3.Host网络

3.1 介绍

用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欢迎信息。可是在其余机器上是访问不通的。
注意:编程

  1. 使用host网络的容器,不会被分配IP地址,由于它直接使用Host的IP地址;
  2. 使用host网络,publish port功能无效。

4.小结

  • 本文介绍了除bridge外的另外两种网络,none和host,了解便可。

下一节,咱们介绍docker原生的overlay网络。点击此处回到docker系列文章目录微信

 

做者原创,转载请声明出处!网络


本人微信公众号同步更新云计算、容器、网络、编程等文章,欢迎关注!app

相关文章
相关标签/搜索