本節介紹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