【docker】4种网络模式
bridge模式
使用--net=bridge指定,Docker的默认设置,这种模式创建出来的docker容器链接到Dcoker网桥上(docker0网桥或者其它自定义的网桥):
1)创建一对虚拟网卡(veth pair)
2)赋予其中一块网卡一个类似“veth65f9”的名字,将其留在宿主机root network namespace中,并绑定到Docker网桥上
3)将另一块网卡放入新创建的network namespace中(docker容器中),命名为eth0
4)从Docker网桥的子网中选取一个未使用的IP非配给eth0,并为Docker容器设置默认路由,默认网关为Docker网桥
此模式与外界通信使用NAT协议,增加了通信的复杂性,在复杂场景下使用会有诸多限制。
host模式
使用--net=host指定。Docker容器中的进程处于宿主机的网络环境中,相当于docker容器和宿主机公用一个network namespace,使用宿主机的网卡、IP、端口等信息。但是容器其它方面,如文件系统、进程列表等还是和宿主机隔离的。
host模式很好地解决了容器与外界通信的地址转换问题,可以直接使用宿主机的IP进行通信,但是也降低了隔离性,同事还会引起网络资源的竞争和冲突。
container模式
container模式和host模式类似,指定新创建的容器和已经存在的某个容器共享同一个network namespace。都是共享network namespace,区别就在于host模式与宿主机共享,而container模式与某个存在的容器共享。新创建的容器不会创建自己的网卡,也不配置IP,而是与一个指定的容器共享IP、端口范围等。同样,两个容器除了网络方面,其它的如文件系统、进程列表等还是隔离的。
在这种模式下,两个容器的进程可以通过lo回环网卡设备通信,增加了容器间通信的便利性和效率。
container模式的应用场景就在于可以将一个应用的多格组件放在不同的容器中,这些容器配置为container模式的网络,这样他们就可以作为一个整体对外提供服务。同样,这种模式也降低了容器间的隔离性
none模式
这种模式下,docker容器拥有自己的network namespace,但是,并不为docker容器进行任何网络配置。也就是说,这个docker容器除了netwokr namespace自带的loopback网卡外没有其他任何网卡、IP、路由等信息,需要用户为Docker容器添加网卡、配置IP等。
这种模式如果不进行特定的配置是无法正常使用的,但是优点也非常明显,它给了用户最大的自由度来自定义容器的网络环境。
--- 以上摘自《Docker容器与容器云》
【docker】4种网络模式的更多相关文章
- [转帖]Docker四种网络模式
Docker(十四)-Docker四种网络模式 https://www.cnblogs.com/zhuochong/p/10069293.html 计算机网络相关的知识 非常有用.. Docker 安 ...
- Docker学习第四天(Docker四种网络模式)
Docker四种网络模式 实现原理 Docker使用Linux桥接(参考<Linux虚拟网络技术>),在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根 ...
- Docker 四种网络模式
原文 https://www.cnblogs.com/gispathfinder/p/5871043.html 我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络 ...
- Docker——四种网络模式
docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式: bridge模式:使用–net =bridge指定,默认设置: host模式 ...
- Docker(十四)-Docker四种网络模式
Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network ls 命令查看: none模式,使用--net=none指定,该模式关闭了容器的网络功能. host模式 ...
- docker四种网络模式
1,host模式 启动容器时,添加参数--net=host 此模式和宿主机使用的是同1个ip,适合上网. 2,container模式 启动容器时,添加参数--net=container,docker ...
- Docker的4种网络模式
我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: · host模式,使用--net=host指定. · container ...
- Docker的bridge和macvlan两种网络模式
项目上部署的Docker集群创建的容器网络遇到问题,借机会学习了一下docker的网络模式,其他类型我们用的不多,这里只列举我们常用的bridge和macvlan两种,下面的描述和截图有一些是直接从网 ...
- Docker的4种网络模式详细介绍
docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式: bridge模式:使用–net =bridge指定: host模式:使用–net = ...
- k8s pod的4种网络模式最佳实战(externalIPs )
[k8s]k8s pod的4种网络模式最佳实战(externalIPs ) hostPort相当于docker run -p 8081:8080,不用创建svc,因此端口只在容器运行的vm ...
随机推荐
- MacOS修改应用快捷键的一般思路
具体步骤为: 使用CheatSheet软件查看菜单项名称 在系统设置中修改菜单项的快捷键 举个例子:修改Chrome中左右切换tab的快捷键(系统语言为英文,中文同理) 默认采用Ccontrol Ta ...
- Windows中安装和配置Maven
1.下载 下载地址:https://maven.apache.org/download.cgi 下载文件:https://dlcdn.apache.org/maven/maven-3/3.9.6/bi ...
- linux下创建idea的桌面快捷方式
!!!使用linux系统安装idea才会用到: 在桌面上,新建文件,命名为:idea.desktop , (或者在别的地方创建后再放到桌面) 使用 vim 编辑该文件(或者不新建,直接vi idea. ...
- List<Map<String, Object>> 排序
一.代码 public class Test { public static void main(String[] args) { Map<String, Object> map = ne ...
- ctfshow web入门 文件包含全部wp
Web78 <?php if(isset($_GET['file'])){ $file = $_GET['file']; include($file); }else{ highlight_fil ...
- [BZOJ5093] 图的价值 题解
考虑计算一个点的贡献,最后 \(\times n\) 即为所求. 显然一个点的贡献为 \(\sum\limits_{i=0}^{n-1}\binom{n-1}ii^k2^{\frac{(n-1)(n- ...
- Typecho 如何开启外链转内链
把博客中的外部链接转换为网站内链,据说有利于搜索引擎收录.该插件主要由 benzBrake 大佬 编写,同时支持转换文章和评论中的链接. 上传插件 下载 Master Branch Code 后上传到 ...
- Kettle - 简介
ETL简介 Kettle简介 transformation 和 job的区别 Kettle 的核心组件 Kettle 特点 Kettle 的目录说明 Kettle 的文件说明 ETL简介 ETL,Ex ...
- rabbitmq的基本使用
使用MQ的三大作用:1.同步变异步2.流量削峰3.解耦降低服务间的耦合性要不要使用MQ,需不需要使用MQ依据项目的需要做选择. 使用场景: 例如:注册用户时候,发送激活邮件.监控应用中抛出的异常,邮件 ...
- 【自荐】一款简洁、开源的在线白板工具 Drawnix
在线白板工具 Drawnix -- 名字源于绘画(Draw)与凤凰(Phoenix)的灵感交织. Drawnix 的定位是一个开箱即用.开源.免费的在线白板工具产品, 集思维导图.流程图.画笔于一体, ...