如何自定義容器網絡?- 天天5分鐘玩轉 Docker 容器技術(33)

除了 none, host, bridge 這三個自動建立的網絡,用戶也能夠根據業務須要建立 user-defined 網絡。docker

Docker 提供三種 user-defined 網絡驅動:bridge, overlay 和 macvlan。overlay 和 macvlan 用於建立跨主機的網絡,咱們後面有章節單獨討論。網絡

咱們可經過 bridge 驅動建立相似前面默認的 bridge 網絡,例如:code

155.png

查看一下當前 host 的網絡結構變化:ip

新增了一個網橋 br-eaed97dc9a77,這裏 eaed97dc9a77 正好新建 bridge 網絡 my_net 的短 id。執行 docker network inspect 查看一下 my_net 的配置信息:容器

這裏 172.18.0.0/16 是 Docker 自動分配的 IP 網段。配置

咱們能夠本身指定 IP 網段嗎?
答案是:能夠。network

只需在建立網段時指定 --subnet 和 --gateway 參數:二維碼

這裏咱們建立了新的 bridge 網絡 my_net2,網段爲 172.22.16.0/24,網關爲 172.22.16.1。與前面同樣,網關在 my_net2 對應的網橋 br-5d863e9f78b6 上:im

容器要使用新的網絡,須要在啓動時經過 --network 指定:img

容器分配到的 IP 爲 172.22.16.2。

到目前爲止,容器的 IP 都是 docker 自動從 subnet 中分配,咱們可否指定一個靜態 IP 呢?

答案是:能夠,經過--ip指定。

注:只有使用 --subnet 建立的網絡才能指定靜態 IP

my_net 建立時沒有指定 --subnet,若是指定靜態 IP 報錯以下:

好了,咱們來看看當前 docker host 的網絡拓撲結構。

下一節討論這幾個容器之間的連通性。

二維碼+指紋.png

相關文章
相關標籤/搜索