Docker 网络

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 网络相关的知识,希望对你有一定的参考价值。

Docker安装时会自动在host上创建三个网络,用docker network ls 命令查看
技术图片

1.none 网络
顾名思义,none网络就是什么都没有的网络,挂载这个网络下的容器除了lo,没有其他任何网卡,容器创建时,可以通过 --network=none 指定使用none网络
技术图片

应用场景:一些对安全性要求高并且不需要网络连网的应用可以使用none网络,比如专门用于生成密码的容器,就可以放到none网络避免密码被盗取

2.Host网络
连接到host网络的容器共享Docker host的网络栈,容器的网络配置和host完全一样,可以通过 --network=host 指定使用host网络
技术图片

应用场景:使用Docker host 的网络最大好处是性能,如果容器对网络传输效率有较高要求,则可以直接选择host网络,当然也有不便之处,比如要考虑端口冲突问题,host上面已经使用的端口就不能再用了

3、Bridge网络
Docker 安装时会创建一个命名为docker0 的linux bridge,如果不指定 --network,创建的容器默认会被挂到docker0上
技术图片

一个新的网络接口 vethe3caad7 被挂到docker0上,vethe3caad7是新创建容器的虚拟网卡,
容器里 eth0@if84 网卡和vethe3caad7 是一对veth pair,veth pair 是一对成对出现的特殊网络设备。

技术图片
4、User-defined 网络
Docker 提供三种 user-defined网络驱动,bridge、overlay、macvlan,overlay和macvlan用于创建跨主机网络
(1)docker自动分配ip网段
技术图片
(2)手动指定ip网段
技术图片

(3)创建一个指定静态ip的容器
技术图片

注:只有使用 --subnet 创建的网络才能指定静态ip
技术图片

以上是关于Docker 网络的主要内容,如果未能解决你的问题,请参考以下文章

理解Docker:Docker 网络

云原生Docker09-Docker网络详解

docker容器网络

理解Docker:Docker 网络

Docker学习重点~Docker网络

Docker——Docker网络模式