docker使用linux橋接,在主機虛拟一個<code>docker0</code>網絡接口,在主機中運作指令檢視:
docker啟動一個container時會會根據<code>docker0</code>的網段劃分container的ip,<code>docker0</code>是每個container的網關。
盡管docker在使用linux brigde會找最合适的。但是有時候我們還是需要自己規劃。
使用<code>-b=<bridgename></code>參數設定
docker預設是允許container互通,通過<code>-icc=false</code>關閉互通。
一旦關閉了互通,隻能通過<code>-link name:alias</code>指令連接配接指定container.
container互相隔離的情況下,假設我們有一個webapp container,一個redis contianer需要互通。
先啟動redis container:
再啟動webapp并聯通到redis
在webapp中可以看到db的網絡資訊:
0.11版本以後,<code>-- link redis:db</code>的别名,會在<code>/etc/hosts</code>中生成對應的ip映射:
vethxxx是主機與container内部eth0相連的管道。詳見<code>ip link</code>和<code>namespaces infrastructure</code>