小知识:深入解析docker三种网络模式

1.docker默认的三种网络模式

bridge:桥接模式

host:主机模式

none:无网络模式

查看网络模式: docker network ls

2.桥接模式

简介:桥接模式是docker 的默认网络设置,当Docker服务启动时,会在主机上创建一个名为docker0的虚拟网桥,并选择一个和宿主机不同的IP地址和子网分配给docker0网桥

如下图所示:eno16777728是宿主机的网卡,192.168.0.156是宿主机的ip地址,docker0就是docker服务的虚拟网桥。

%小知识:深入解析docker三种网络模式-猿站网-插图

桥接拓扑图:

%小知识:深入解析docker三种网络模式-1猿站网-插图

网络模式选择桥接模式的容器,就会连接上docker0这个网桥,在通过nat的转换,通过宿主机的网卡,连接外网,就能达到上外网的目的。

如下图所示,我启动了两个容器,就会有两个容器网卡,以及一个docker0虚拟网卡,如果启动三个就会有三个容器网卡,这几个容器网卡都会桥接到docker0网卡,docker0网卡与物理机网卡连接使用的是nat技术

%小知识:深入解析docker三种网络模式-2猿站网-插图

进入某一个容器查看路由情况:

在容器内安装工具:yum -y install net-tools

%小知识:深入解析docker三种网络模式-3猿站网-插图

容器的ip地址是172.17.0.3,他的网关是172.17.0.1,他的数据是发往172.17.0.1这个网关,这个网关也是虚拟网桥的地址,如下图所示,docker0这个虚拟网桥的ip地址就是172.17.0.1。

%小知识:深入解析docker三种网络模式-4猿站网-插图

在宿主机安装工具:yum install -y bridge-utils

然后使用brctl show命令查看桥接情况:

如下图所示就可以看到,docker0这个网桥桥接了30和17这两个容器的网卡.

%小知识:深入解析docker三种网络模式-5猿站网-插图

需要注意的一点如下:

宿主机能访问docker容器是因为有docker0这个虚拟网卡,除宿主机外的机器想访问容器,只能够访问宿主机,这时候正常方式都是使用端口映射,也就是将容器的端口与宿主机的端口进行映射,供外面的机器访问

%小知识:深入解析docker三种网络模式-6猿站网-插图

3.host模式

host 模式:该模式下容器是不会拥有自己的ip地址,而是使用宿主机的ip地址和端口。这种模式的好处就是网络性能比桥接模式的好。缺点就是会占用宿主机的端口,网络的隔离性不太好

%小知识:深入解析docker三种网络模式-7猿站网-插图

以nginx容器为例:启动nginx容器命令并防火墙放开80端口:

docker run -d –net=host mycentos:nginx /usr/local/nginx/sbin/nginx -g “daemon off;”

–net=host是指定网络模式为主机模式,如果不填就是桥接模式

注意:主机模式启动的容器没有自己的IP地址

4.none模式

加上后面的参数就行了 –net=none

none模式没有IP地址,无法连接外网,等于就是断网的状态,作用就是用于测试,生产环境一般不会用到这种

到此这篇关于详解docker三种网络模式的文章就介绍到这了,更多相关docker网络模式内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/m0_54883970/article/details/124170437

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Docker安装运行SRS的过程记录

2023-3-7 19:33:08

建站知识

小知识:教你使用docker查看运行中的容器

2023-3-7 19:48:11

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索