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

相關文章
相關標籤/搜索