Docker - 容器的网络模式

news/2024/5/4 4:23:34/文章来源:https://blog.csdn.net/qq_48391148/article/details/126584655

目录

一、bridge模式

查看容器的有哪几种网络类型

二、host模式

三、none模式

四、container模式

五、overlay模式

创建一个桥接类型的网卡

使用刚才创建的网卡来创建容器

查看刚才使用网卡创建的容器的ip地址

我们指定网卡创建的容器IP地址是 :172.18.0.2


容器的几种网络类型

bridge

host

none

container

一、bridge模式

当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。

bridge模式是docker的默认网络模式,不写--net参数,就是bridge模式。此模式会为每一个容器分配Network Namespace、设置IP等

使用docker run -p时,docker实际是在iptables做了DNAT规则,实现端口转发功能。可以使用iptables -t nat -vnL查看。

从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。

查看容器的有哪几种网络类型

[root@docker1 ~]# docker network ls
NETWORK ID     NAME                   DRIVER    SCOPE
91333e76abbc   bridge                 bridge    local
ad3ad5fc6e99   host                   host      local
ab0e4d5d934b   none                   null      local

##################################################################################

二、host模式

如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的。

使用host模式的容器可以直接使用宿主机的IP地址与外界通信,容器内部的服务端口也可以使用宿主机的端口,不需要进行NAT,host最大的优势就是网络性能比较好,但是docker host上已经使用的端口就不能再用了,网络的隔离性不好。

################################################################################## 

三、none模式

 使用none模式,Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。

也就是说,这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。

这种网络模式下容器只有lo回环网络,没有其他网卡。none模式可以在容器创建时通过--network=none来指定。

这种类型的网络没有办法联网,封闭的网络能很好的保证容器的安全性。

##################################################################################

四、container模式

container模式就是很多容器共用一个ip地址

这个模式指定新创建的容器和已经存在的一个容器共享一个 network namespace,而不是和宿主机共享,新创建的容器不会创建自己的网阿卡,配置自己的ip,而是和一个指定的容器共享ip,端口范围等,同样,两个容器除了网络方面,其他的如文件系统,进程列表等还是隔离的,两个容器的进程可以通过lo网卡设备通信 

##################################################################################

五、overlay模式

overlay 网络用语连接不同机器上的docker容器,允许不同机器上的容器相互通信,同时支持对消息进行加密,实现跨主机之间的容器之间的通信

##################################################################################

[root@docker ~]# docker network ls
NETWORK ID     NAME        DRIVER    SCOPE
cc33db32b89e   bridge      bridge    local
ad3ad5fc6e99   host        host      local
ab0e4d5d934b   none        null      local

创建一个桥接类型的网卡

[root@docker ~]# docker network create --driver bridge sc-zhaojj
a3779e26931ff899dafa3ce8cb544954392ab100f751587497a21cd4bfafec58
[root@docker ~]# docker network ls
NETWORK ID     NAME        DRIVER    SCOPE
cc33db32b89e   bridge      bridge    local
ad3ad5fc6e99   host        host      local
ab0e4d5d934b   none        null      local
a3779e26931f   sc-zhaojj   bridge    local

ip add 查看宿主机上的网卡,多出了br-a3779e26931f这个网卡  br :bridge

默认创建的网卡是down状态的,因为还没有创建容器来使用它

[root@docker ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:08:e7:01 brd ff:ff:ff:ff:ff:ffinet 192.168.44.201/24 brd 192.168.44.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe08:e701/64 scope link valid_lft forever preferred_lft forever
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:59:c3:5a:cd brd ff:ff:ff:ff:ff:ffinet 172.17.0.1/16 brd 172.17.255.255 scope global docker0valid_lft forever preferred_lft foreverinet6 fe80::42:59ff:fec3:5acd/64 scope link valid_lft forever preferred_lft forever
5: vethd6d36ce@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default link/ether 02:8f:9f:05:22:f6 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet6 fe80::8f:9fff:fe05:22f6/64 scope link valid_lft forever preferred_lft forever
7: vethe1533b3@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default link/ether 7a:c1:18:68:c4:e2 brd ff:ff:ff:ff:ff:ff link-netnsid 1inet6 fe80::78c1:18ff:fe68:c4e2/64 scope link valid_lft forever preferred_lft forever
9: veth150a13c@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default link/ether ba:71:96:2c:70:59 brd ff:ff:ff:ff:ff:ff link-netnsid 2inet6 fe80::b871:96ff:fe2c:7059/64 scope link valid_lft forever preferred_lft forever
10: br-a3779e26931f: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:9a:59:a1:5c brd ff:ff:ff:ff:ff:ffinet 172.18.0.1/16 brd 172.18.255.255 scope global br-a3779e26931fvalid_lft forever preferred_lft forever

使用刚才创建的网卡来创建容器

[root@docker ~]# docker run -d --name wangsh-nginx- -p 9901:80 --network sc-zhaojj  nginx
e61be6dd284f9a69356de22b3fb0a1388f7e3879082218a463d3aa3d83f1e5a9
doc[root@docker ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                                                    NAMES
e61be6dd284f   nginx          "/docker-entrypoint.…"   24 seconds ago   Up 22 seconds   0.0.0.0:9901->80/tcp, :::9901->80/tcp                    wangsh-nginx-
53df509efe33   nginx          "/docker-entrypoint.…"   2 days ago       Up 2 days       0.0.0.0:8803->80/tcp, :::8803->80/tcp                    yangyj-nginx
3d6aa9a3116b   mysql:5.7.39   "docker-entrypoint.s…"   3 days ago       Up 3 days       33060/tcp, 0.0.0.0:33060->3306/tcp, :::33060->3306/tcp   sc-mysql-1
fc652e8c734a   nginx          "/docker-entrypoint.…"   4 days ago       Up 3 days       0.0.0.0:8090->80/tcp, :::8090->80/tcp                    sc-nginx

查看刚才使用网卡创建的容器的ip地址

可以看到,创建容器指定的网卡是 sc-zhaojj,这个网卡的IP地址是172.18.0.1

10: br-a3779e26931f: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:9a:59:a1:5c brd ff:ff:ff:ff:ff:ffinet 172.18.0.1/16 brd 172.18.255.255 scope global br-a3779e26931fvalid_lft forever preferred_lft forever

我们指定网卡创建的容器IP地址是 :172.18.0.2

[root@docker ~]# docker network inspect sc-zhaojj | egrep "IP""EnableIPv6": false,"IPAM": {"IPv4Address": "172.18.0.2/16","IPv6Address": ""
[root@docker ~]# 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_4860.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络——网络协议

目录 网络协议 网络协议的三要素 协议的分层模型 计算机网络层次结构的好处 计算机网络的体系结构 OSI与TCP/IP的体系结构的比较 网络协议 1、计算机网络中的数据交换必须遵守事先约定好的规则。 2、这些规则明确规定了所交换的数据的格式和时序&#xff0c;以及在发送或…

SpringBoot 整合 RabbitMQ 实现消息回调、手动确认 (二) 有图 有源码

创建时间 2022年8月29日 标签&#xff1a;Java、SpringBoot、RabbitMQ、队列 注释&#xff1a;新建SpringBoot项目实操RabbitMQ实现消息回调、手动确认 来源&#xff1a;CSDN博主&#xff1a;小目标青年 文章目录SpringBoot 整合 RabbitMQ 回调确认模式生产者推送消息回调1、消…

3天精通Postman---动态参数amp;断言amp;CSV数据驱动amp;Mock Server

DAY2课题&#xff1a;Postman接口关联&动态参数&断言&CSV数据驱动目录 一、接口关联&#xff0c;接口依赖&#xff0c;多接口串联&#xff0c;组合API 二、Postman的动态参数&#xff08;随机数&#xff09; 三、Postman的环境变量和全局变量 四、Postman断言 五、…

极端气候肆虐催化,碳中和带出了一个“再生时代”

江南一带的高温结束了&#xff0c;今年这场轰轰烈烈的高温&#xff0c;也画上了最后的句号。各地骤降的温度让人仿佛忘却了“热到爆表”的经历&#xff0c;但过去已经成为历史&#xff0c;历史充满痕迹。 格陵兰岛冰盖加速融化、欧洲莱茵河部分河段干涸、长江流域汛期反枯、重…

Cyclopropene-PEG-MAL Maleimide|环丙烯-聚乙二醇-马来酰亚胺

描述&#xff1a;环丙烯有机化合物。环丙烯是由三个碳原子构成的环烯烃&#xff0c;分子式为C3H4 &#xff0c;由于具有张力&#xff0c;环丙烯具有一些和其他环烯烃不同的性质。 理化性质 环丙烯在常温常压下为无色气体&#xff0c;沸点-36.15 &#xff0c;折射率1.489 。 环…

Git的安装与使用

1、Git的下载 2、git的安装 点击安装软件&#xff0c;一路安装到底&#xff0c;无需做任何选择 ...... 此处省略中间安装步骤 ...... 3、检验是否安装成功 在桌面右键&#xff0c;如果出现此图&#xff0c;表示安装成功 4、配置git 为了方便git客户端操作远程仓储方便&#…

Redis集群搭建(单机集群)

Redis入门篇https://blog.csdn.net/tongxin_tongmeng/article/details/126620333集群配置文件&#xff08;单机集群&#xff09; 1.复制/home/redis/redis-7.0.4/redis.conf到/home/redis/workspace/cluster_one cp /home/redis/redis-7.0.4/redis.conf /home/redis/workspace/…

私有化部署的知识管理平台对企业有什么意义?

随着企业的发展扩大&#xff0c;企业内部沉淀的知识也越来越多。过去很多企业都会将知识存储到云上&#xff0c;云部署模式虽然给企业带来了极大的便利&#xff0c;但在一些性能及数据安全上会存在一定的弊端&#xff0c;隐藏不少的企业会选择将数据存储在本地。下面我们就从企…

数字机器人如何更好的助力智慧政务?这里或许有你想要的答案

“十四五”规划和2035年远景目标纲要中明确提出&#xff0c;迎接数字时代&#xff0c;加快建设数字经济、数字社会、数字政府&#xff0c;以数字化转型整体驱动生产方式、生活方式和治理方式变革。 国务院于6月23日印发的《关于加强数字政府建设的指导意见》&#xff0c; 再一…

22年国家gongwuyuan考试申论题(副省级)

2022年国家公务员考试申论题&#xff08;副省级&#xff09;的问题一&#xff0c;它的题目是&#xff1a;根据“给定资料1”&#xff0c;请你谈谈B公司的案例为企业科技创新提供了哪些启示&#xff1b;要求&#xff1a;分析全面&#xff0c;条理清晰&#xff0c;不超过200字。 …

一个SpringBoot问题就干趴下了?我却凭着这份PDF文档吊打面试官(Spring Boot知识点+详解)

随着 Spring Boot 使用越来越广泛&#xff0c;Spring Boot 已经成为 Java 程序员面试的知识点&#xff0c;很多同学对 Spring Boot 理解不是那么深刻&#xff0c;经常就会被几个连环追问就给干趴下了&#xff01; 给大家整理了 Spring Boot 的35个常见知识点、21道面试必刷题、…

Docker基础-3.本地镜像发布与容器数据卷

我们在上一章中生成了自己的镜像&#xff1a;myubuntu&#xff0c;这章分别将它发布到阿里云和私有仓库 docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE myubuntu 1.0 938b4fc0baf5 20 minutes ago 179MB一、本地镜像发布到阿里云…

视频融合平台EasyCVR视频广场页脚优化为瀑布流式的实现方式

EasyCVR基于云边端一体化架构&#xff0c;兼容性高、拓展性强&#xff0c;可支持多类型设备、多协议方式接入&#xff0c;将复杂多变的底层资源统一管理起来&#xff0c;实现视频资源的统一汇聚与管理、鉴权分发、服务器集群、智能分析、数据共享、集成与调用等视频能力服务。 …

如何使用Postman快速简单的调用快递物流平台快递鸟API接口

前沿 快递鸟是一家聚合类的第三方快递物流平台&#xff0c;目前该平台提供的产品主要以API为主。由于API不能直观的看到产品效果&#xff0c;需要进行API对接联调成功后才能真实的看到产品的实际效果。但是如果一上来就写代码进行对接&#xff0c;耗费的时间长不说&#xff0c…

川渝智慧高速第 4 部分:车路协同系统数据交换

1 范围 本文件规定了智慧高速公路车路协同系统数据交换的架构和内容。 本文件适用于成渝地区双城经济圈智慧高速公路的新建、改&#xff08;扩&#xff09;建工程&#xff0c;以及高速公路既有设施 智慧化提升改造。 2 规范性引用文件 下列文件中的内容通过文中的规范性引用…

自动化情侣微信早安信息定时推送

文章目录一、效果展示二、配置config.txt&#xff08;重点&#xff09;2.1 填写appID和appsecret2.1 创建测试模板填写template_id2.4 填写user2.5 填写weather_key2.6 填写剩下其他框选内容即可三、运行软件3.1 选择config.txt文件并设定时间3.2 运行软件3.3 效果展示一、效果…

湘潭大学新生匿名问答网站——解湘 项目总结

湘潭大学新生匿名问答网站——解湘 项目总结 一.开发进度 解湘 ​ 项目首页 ​ 大一暑假过半,7月29日建立本地工程文件其中项目在github上经历七次push(第八次为修改配置文件,防止数据库泄露),但在本地修改次数远远大于七次。 后端开发均为我一人完成,前端开发由他人负责…

告别BeanUtils,Mapstruct从入门到精通

如果你现在还在使用BeanUtils&#xff0c;看了本文&#xff0c;也会像我一样&#xff0c;从此改用Mapstruct。对象之间的属性拷贝&#xff0c;之前用的是Spring的BeanUtils&#xff0c;有一次&#xff0c;在学习领域驱动设计的时候&#xff0c;看了一位大佬的文章&#xff0c;他…

Redis实现消息队列

一、消息队列 1、什么是消息队列 消息队列&#xff08;Message Queue&#xff09;是一种应用间的通信方式&#xff0c;消息发送后可以立即返回&#xff0c;由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取&#xff0c;消息使用者只管从 MQ 中…

阿里巴巴出品:完美杜绝备战一个月面试 10 分钟,让 Java 面试从此不再难

众所周知&#xff0c;阿里后台一直以 Java 为重&#xff0c;面试官也是做 Java 开发的。但是语言只是工具&#xff0c;对代码的理解才是核心。面试时重点考察的是基础知识&#xff0c;以及解题的思考过程。 小编也是托了很多的关系&#xff0c;要到了这份阿里内容的面试解析。…