Docker - 網絡配置

前言

Docker 爲咱們提供了多種類型的網絡模式,咱們能夠根據本身的需求使用系統默認的網絡或者建立本身的網絡。php

 

Docker 默認的網絡

在咱們安裝完 Docker enginee 後, 會自動生成3種默認的網絡模式。 咱們能夠運行命令查看:node

$ docker network lsdocker

 

bridge - 使用Docker 0 網絡, containers只能在一個Host上面進行通訊。在建立Container時,若是不特殊指定網絡,會默認使用bridge。建立在bridge網絡上面的container裏面,咱們在container的host文件(# cat /etc/hosts)能夠看到對用IP信息網絡

 

root@0cb243cd1293:/# cat /etc/hostsoop

172.17.0.2 3386a527aa08spa

127.0.0.1 localhostcode

::1 localhost ip6-localhost ip6-loopbackrouter

fe00::0 ip6-localnetblog

ff00::0 ip6-mcastprefixip

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

 

none -  ?? 貌似沒啥用啊

host - 基於本機的Docker host, 貌似沒啥用。

 

bridge 網絡模式拓撲圖, 因爲bridge自己不可以訪問外部或被外部訪問,咱們能夠暴漏端口到外部以實現通訊。可是bridge模式要求全部container必需要一個Docker host裏

 

 docker_gwbridge 網絡

這個網絡也是Docker engine 本身生成的,只不過是當咱們運行Docker swarm 之後 (建立網絡+添加節點),自動生成 overlay 網絡,用於爲swarm 提供 overlay 網絡通訊。

 

An overlay network with an external key-value store

因爲 Swarm 使用了內置的overlay網絡「docker_gwbridge」, 因此當咱們要在不適用swarm mode 且要求在不一樣的container之間通訊時,就須要用到這個網絡模式。

因爲使用這種模式必需要提供 「key-value stores」支持,因此配置起來會比較發雜。咱們先看一下她的拓撲圖

相關文章
相關標籤/搜索