天天看點

Docker network

docker 預設有三種網絡,分别是None ,host,brdge和userdefine network。可以通過下面指令列出來

我們來分别說下幾個網絡

none 網絡:

none 網絡 在docker中 隻有一個localhost的回環位址,不會有 其他的ip,比如用在比較安全的場景,我們可以用它生成密鑰等等

我們來建立一個使用none 網絡的容器

host網絡:

host網絡是和host主機共享網絡,當容器使用了host網絡後,會和host使用一樣的網絡,在docker裡面執行“ip a ”後可以看到和host上所有的網絡。host網絡 的性能比較高,可以在要求性能比較高的場景下使用,當然host網絡的短闆是不靈活,比如不能和host主機使用同一個端口

可以看到容器中已經能看到host的所有網絡

birdge 網絡:

bridge網絡是最常用的網絡,docker 服務本身提供 了一個docker0的網絡

我們建立的容器的裝置會和這個橋上的接口是一對 veth pair。下面我們看怎麼區分是一堆veth pair

Docker network

這樣就可以找到這對veth pair了

可以用指令看到 網絡的詳細資訊

可以看到每個容器的ip位址

user-define network:

檢視現在的網絡

建立一個bridge網絡

建立網絡時不指定網絡的ip,系統會自動為其配置設定子網和ip,我們現在自己為其指定ip網段

在host 主機檢視我們剛剛建立的橋

我們在建立虛拟機時指定我建立的網絡就好

為容器指定ip位址

[root@docker ~]#

可以看到 我們指定的ip了

我們還可以為容器添加bridge port 首先檢視 docker的網絡

我們為其添加一個網絡

<code>[root@docker ~]# docker network connect my_bridge 1a3f2977da80</code>

再次檢視

可以看到容器已經 存在IP了