docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式

######1.docker原生网络配置######

docker安装后会自动创建3种原生网络:bridge、host、none。

[root@server1 ~]# docker network ls  ##列出docker的网络

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第1张图片

 

######2.容器网络接口docker0######

docker安装时会创建一个名为 docker0 的Linux bridge。

[root@server1 ~]# ip addr   ##查看网卡
[root@server1 ~]# ip addr show docker0   ##查看指定网卡的信息

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第2张图片

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第3张图片

新建的容器会自动桥接到这个docker0接口。

[root@server1 ~]# yum install -y bridge-utils   ##安装网桥管理工具包
[root@server1 ~]# brctl show  ##查询网桥信息

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第4张图片

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第5张图片

 

######3.bridge模式######

bridge模式下,容器没有一个公有ip,只有宿主机可以直接访问,外部主机是不可见的

容器通过宿主机的NAT规则后可以访问外网。

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第6张图片

###1.宿主机连接容器###

[root@server1 ~]# docker inspect 容器名/容器id/镜像名   ##获取容器/镜像的元数据

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第7张图片

(b68b7cbd6f0为容器id的简写(前面几位))

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第8张图片

(运行的容器IP为172.17.0.2)

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第9张图片

(容器的虚拟网络)

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第10张图片

(宿主机可以直接访问容器)

###2.外部主机连接容器###

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第11张图片

(容器对于外部主机不可见)

###3.停止容器,宿主机无法访问容器###

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第12张图片

(停止运行容器后,容器虚拟网络自动消失)

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第13张图片

(停止运行容器后,bridge自动断开,宿主机就无法访问容器了)

 

######4.host模式######

host模式可以让容器共享宿主机网络栈,

优点:外部主机与容器直接通信;缺点:容器的网络缺少隔离性。

host网络模式需要在容器创建时指定--network=host

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第14张图片

###1.容器共享宿主机网络###

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第15张图片

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第16张图片

###2.外部主机直接访问容器###

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第17张图片

###3.停止容器,外部主机访问###

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第18张图片

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第19张图片

 

######5.none模式######

none模式是指禁用网络功能,只有lo接口,在容器创建时使用--network=none指定

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第20张图片

 

######6.Container 网络模式######

Container 网络模式是 Docker 中一种较为特别的网络的模式。

Docker 容器会共享一个网络栈,这样两个容器之间可以使用localhost高效快速通信。

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第21张图片

在容器创建时使用--network=container:vm指定(vm指定的是运行的容器名)

###1.运行需要共享网络的容器###

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第22张图片

###2.运行新容器###

docker基本网络配置:docker0网络接口、bridge模式、host模式、none模式、Container模式_第23张图片

(共享eth0)

 

 

你可能感兴趣的:(数据流向)