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”支持,因此配置起来会比较发杂。咱们先看一下她的拓扑图

相关文章
相关标签/搜索