Network

Docker 中的網路是由可擴充的子系統管理的,稱作 Driver。Docker 內建 3 種 Driver:

  • bridge:預設 Driver。

  • host:Container 的網路不做隔離,直接使用 Host 上的網路。

  • overlay:串連多個 Docker Daemon,允許 Docker Swarm Services 間的溝通。

    • 允許Swarm Service 及獨立的 Container 間的溝通。
    • 允許不同 Daemon 上的獨立 Container 間的溝通。
  • macvlan:指派 MAC Address 給 Container,可以作為實體機器在 Host 上的網路被存取。

  • none:沒有網路。

Bridge

  • 會自動取得 Host 上網路相關的設定值(hostsresolv.conf)。

  • 啟動 Docker 時,會創建一組預設的 Bridge 網路;當 Container 不指定 --network 時,會使用該組 Bridge 網路。

  • Bridge 網路內部有自己的 DNS 解析,可以透過定義 --network-alias 作為 Container 在 Bridge 網路中的 Domain Name。