【Docker】Docker中network的概要、常用命令、网络模式以及底层ip和容器映射变化的详细讲解

news2024/11/24 9:10:18

🚀欢迎来到本文🚀
🍉个人简介:陈童学哦,目前学习C/C++、算法、Python、Java等方向,一个正在慢慢前行的普通人。
🏀系列专栏:陈童学的日记
💡其他专栏:C++STL,感兴趣的小伙伴可以看看。
🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝 ​
⛱️万物从心起,心动则万物动🏄‍♂️

在这里插入图片描述

前言:Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux系统 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker中network的概要、常用命令、网络模式以及底层ip和容器映射变化的详细讲解

  • Docker network的概要
  • network的常用命令
  • network的网络模式
  • network底层ip和容器映射变化

Docker network的概要

Docker网络是Docker容器之间和容器与外部世界之间进行通信的关键组件。它允许容器之间相互通信,并提供与外部网络的连接。下面是关于Docker网络的一些概要:

  • 1.Docker网络模型:
      Docker网络模型包括三个主要组件:容器、网络和端点。容器是运行应用程序的独立环境,网络提供容器之间和容器与外部世界之间的通信路径,而端点则是连接容器和网络的桥梁。

  • 2.Docker网络类型:
      Docker支持多种网络类型,包括桥接网络、主机网络、覆盖网络和无网络。桥接网络是默认的网络类型,它使用Docker daemon主机上的桥接接口将容器连接到主机网络。主机网络直接将容器连接到主机网络接口,使得容器可以直接访问主机上的网络资源。覆盖网络是多个Docker守护进程连接在一起的虚拟网络,它允许容器在不同主机上进行通信。无网络类型则表示容器没有网络访问能力。

  • 3.Docker网络驱动程序:
      Docker网络驱动程序负责创建和管理Docker网络。常见的驱动程序包括bridge、host、overlay等。bridge驱动程序是默认的网络驱动程序,它创建一个本地的软件桥接接口,用于连接容器和宿主机的网络。host驱动程序直接使用宿主机网络接口,使得容器可以直接访问宿主机的网络资源。overlay驱动程序用于创建跨多个Docker守护进程的覆盖网络。

  • 4.Docker网络命令:
      Docker提供了一组命令来管理和配置网络。常见的命令包括docker network create用于创建网络,docker network connect用于连接容器到网络,docker network inspect用于查看网络信息等。

  • 5.Docker网络的使用场景:
      Docker网络可用于各种使用场景,包括单主机部署、多主机集群、微服务架构等。通过使用不同的网络类型和驱动程序,可以灵活地配置和管理Docker网络,以满足不同的需求。

在这里插入图片描述

network的常用命令

上面我们提及到了Docker network,那么关于network的常用命令有哪些呢?让我们一起来看看吧。

  • 1.创建网络:
docker network create <network_name>

该命令用于创建一个新的Docker网络,其中<network_name>是网络的名称。

  • 2.列出网络:
docker network ls

该命令用于列出所有可用的Docker网络。

  • 3.查看网络详情:
docker network inspect <network_name>
  • 4.连接容器到网络:
docker network connect <network_name> <container_name>

该命令用于将已创建的容器连接到指定的Docker网络中,其中<network_name>是网络名称,<container_name>是容器名称或ID。

  • 5.断开容器与网络的连接:
docker network disconnect <network_name> <container_name>

该命令用于断开指定容器与指定Docker网络的连接

  • 6.删除网络:
docker network rm <network_name>

该命令用于删除指定的Docker网络,其中<network_name>是要删除的网络名称。

以上就是一些常用的Docker网络命令啦,可以用于创建、管理和删除Docker网络。如有问题,欢迎各位指出
在这里插入图片描述

network的网络模式

接下来让我们来看看network的网络模式有哪几种呢。Docker提供了多种网络模式,可以根据不同的需求选择适合的网络模式。以下是一些常见的Docker网络模式:

  • 1.Bridge模式(桥接模式):
      桥接模式是默认的Docker网络模式。在桥接模式下,Docker会为每个容器分配一个唯一的IP地址,并将它们连接到宿主机上的桥接接口。容器之间可以通过IP地址进行通信,也可以通过容器名称进行通信。此外,桥接模式允许容器与宿主机以及宿主机上的其他网络资源进行通信。

  • 2.Host模式(主机模式):
      主机模式下,Docker容器与宿主机共享网络栈。容器将直接使用宿主机的网络接口,而不会获得自己的网络命名空间。这意味着容器可以使用宿主机上的所有网络资源,包括IP地址、端口等。由于与宿主机共享网络栈,容器之间的端口冲突可能会发生。

  • 3.None模式(无网络模式):
      在无网络模式下,Docker容器没有网络连接。这意味着容器无法访问外部网络,也无法与其他容器进行通信。无网络模式适用于一些安全性要求较高的场景,或者仅需要运行计算型任务而不涉及网络通信的场景。

  • 4.Overlay模式(覆盖模式):
      覆盖模式用于创建跨多个Docker守护进程的覆盖网络。覆盖网络允许不同宿主机上的容器之间进行通信,使得容器可以在多主机集群中无缝运行。覆盖网络使用了Swarm模式,它是Docker的集群管理工具。

network底层ip和容器映射变化

  在Docker网络中,有两个关键的概念:底层IP和容器映射

  • 1.底层IP:每个Docker容器都会分配一个底层IP地址,这个地址是在Docker宿主机上的虚拟网络接口上分配的。底层IP是容器内部使用的IP地址,用于容器内部进程之间的通信。

  • 2.容器映射:容器映射是指将容器的端口映射到宿主机的端口,以便容器可以通过宿主机的网络接口与外部进行通信。当我们在创建容器时使用-p--publish参数指定端口映射规则时,Docker会将容器内部的端口映射到宿主机上的一个随机端口或指定的端口上。

  具体来说,当我们创建一个Docker容器并指定端口映射规则时,Docker会在宿主机上创建一个转发规则,将宿主机上的指定端口与容器内部的端口进行绑定。这样,当外部系统通过宿主机的IP地址和绑定的端口访问时,请求会被转发到容器内部的对应端口上。

  举个例子,假设我们创建了一个名为webappDocker容器,并将容器内部的80端口映射到宿主机的8080端口。那么,当我们通过宿主机的IP地址和8080端口访问时,请求会被转发到容器内部的80端口,从而访问到容器中运行的Web应用。

  综上所述的话呢,底层IP是容器内部使用的IP地址,用于容器内部进程之间的通信;而容器映射是将容器的端口映射到宿主机的端口,以便容器可以与外部网络进行通信。通过这种方式,Docker网络提供了灵活且可定制的网络配置选项,使得容器可以轻松地与其他容器和外部系统进行通信。

在这里插入图片描述

如果本文对大家有所帮助的话,还望各位能给我点赞、收藏并评论一下,感谢各位💕!!! 另如果大家有什么疑问或者建议的话,欢迎评论区留言。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java课题笔记~ 关于错误与异常

非检查异常(unckecked exception)&#xff1a;Error 和 RuntimeException 以及他们的子类。javac在编译时&#xff0c;不会提示和发现这样的异常&#xff0c;不要求程序员必须处理这些异常。在运行阶段&#xff0c;倘若发生Error则虚拟机几乎崩溃&#xff0c;倘若发生RuntimeEx…

会这个Python的测试员,工作都不会太差!

Python语言得天独厚的优势使之在业界的火热程度有增无减&#xff0c;尤其是在经历了互联网&#xff0c;物联网&#xff0c;云计算&#xff0c;大数据&#xff0c;人工智能等浪潮的推动下&#xff0c;其关注度&#xff0c;普适度一路走高。 对于测试人员来说&#xff0c;很多人…

2023上半年京东吸尘器行业品牌销售排行榜(京东数据挖掘)

如今&#xff0c;伴随生活节奏加快、懒人经济兴起&#xff0c;致力于解放双手的清洁类电器产品愈加受到用户青睐。作为清洁类电器行业的细分品类之一&#xff0c;在懒人经济的市场红利下&#xff0c;吸尘器也受到不少用户的喜爱。不过在扫地机器人、洗地机等新兴品类的冲击下&a…

华三H3C S5120V3交换机的配置之组建IRF

IRF&#xff08;Intelligent Resilient Framework&#xff0c;智能弹性架构&#xff09;&#xff0c;是华三交换机实现虚拟堆叠的一种技术&#xff0c;其核心思想是将多台交换机连接在一起&#xff0c;虚拟成一台交换机&#xff0c;进而实现统一管理。和传统的堆叠概念不同&…

基于连续Ziegler_Nichols的频域响应pid整定

连续Ziegler_Nichols的频域响应pid整定 Ziegler_Nichols频域响应pid整定的方法是基于稳定性分析的频域响应pid整定方法。该方法整定的思想是&#xff1a;对于给定的被控对象传递函数&#xff0c;可以得到其根轨迹&#xff0c;对应穿越Jw轴的点&#xff0c;增益即为Km&#xff…

【Java可执行命令】(二十)堆转储快照文件及堆信息查看工具 jmap:生成多格式堆转储文件、打印类加载器信息及查看共享对象映射信息 ~

Java可执行命令之jmap 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法格式3.2 生成堆转储文件3.3 执行jmap命令查看内存使用情况3.4 执行jmap命令打印对象统计信息 4️⃣ 应用场景&#x1f33e; 总结 1️⃣ 概念 jmap 是 Java Development Kit&#xff08;JDK&#xff09;自带…

【Kubernetes】Kubernetes之YAML文件详解

YAML 一、YAML 的概述1. Kubernetes 支持资源管理格式2. YAML 语法格式 二、YAML 文件1. 如何获取 api 资源相关信息2. 编写资源配置文件2.1 手动编写 yaml 文件详解K8S中的port 2.2 使用镜像生成 yaml 文件2.3 根据现有资源导出 yaml 文件 总结1. 如何获取资源清单文件&#x…

[LeetCode - Python]349. 两个数组的交集(Easy);350. 两个数组的交集 II(Easy)

题目&#xff1a; 349. 两个数组的交集(Easy) 代码 1.哈希表 set清重 两次遍历&#xff1a; class Solution:def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:dict {}ret []for i in set(nums1) :if i not in dict:dict[i] 0 for j in …

selenium+python —— 实现基本自动化测试

安装selenium 打开命令控制符输入&#xff1a;pip install -U selenium 火狐浏览器安装firebug&#xff1a;www.firebug.com&#xff0c;调试所有网站语言&#xff0c;调试功能 Selenium IDE 是嵌入到Firefox 浏览器中的一个插件&#xff0c;实现简单的浏览器操 作的录制与回…

centos7 ESXi 磁盘扩充容量

1、背景 有一天&#xff0c;突然程序报空间不足了。。。。。。 2023-06-23 02:26:51.631 UTC [26190] LOG: could not open temporary statistics file "pg_stat_tmp/global.tmp": No space left on device 2023-06-23 02:26:51.631 UTC [26190] LOG: could not …

恒运资本:2倍牛股突然闪崩,业绩创新高股出炉,最高日赚近2亿

上半年哪些公司净利润有望创前史新高&#xff1f; 2倍牛股单季成绩环比下滑&#xff0c;早盘股价大跳水 A股半年报进入发表高峰期&#xff0c;仅8月7日晚间&#xff0c;就有超30家公司发表半年报和成绩预告状况&#xff0c;超七成净利润同比增加。净利润增速最高的是翔港科技&…

基于Spring Boot的影视点播网站设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于Spring Boot的影视点播网站设计与实现&#xff08;Javaspring bootMySQL&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java springboot…

Flowable-多实例

目录 概述概念多实例配置图形标记XML内容界面操作视频教程 BPMN2.0 中引入了多实例的概念&#xff0c;它是在业务流程中定义“重复”环节的一个方法&#xff0c;Flowable 对其予以了支持。配置为多实例的活动在流程运行时会创建多个活动实例&#xff0c;既可以顺序依次执行也 可…

海外市场裂变营销:打造爆炸式增长的成功之道

随着全球化的加速发展&#xff0c;越来越多的品牌开始将目光投向海外市场。然而&#xff0c;在激烈的国际竞争中脱颖而出&#xff0c;并在海外市场取得成功并不容易。在这样的背景下&#xff0c;裂变营销成为了一个备受关注的策略&#xff0c;它能够帮助品牌在海外市场快速拓展…

vue3 excel 导出功能

1.安装 xlsx 库 npm install xlsx2.创建导出函数 src/utils/excelUtils.js import * as XLSX from xlsx;const exportToExcel (fileName, datas, sheetNames) > {// 创建工作簿const wb XLSX.utils.book_new()for (let i 0; i < datas.length; i) {let data datas…

教雅川学缠论06-中枢

本系列文章之前讲的内容都只有上升和下降两类趋势&#xff0c;并没有提及盘整&#xff0c;在缠论中&#xff0c;中枢这个新词汇用来定义盘整&#xff0c;中枢&#xff1a; 1.至少由5条线段&#xff08;或笔&#xff09;组成 2.中枢是有方向的&#xff0c;中枢左右两侧外面的线&…

C语言文件操作基本方法

1、文件的分类 ANSI C 的缓冲文件系统 缓冲文件系统 缓冲文件系统是指&#xff0c;系统自动地在内存区为每个正在使用的文件开辟一个缓冲区。 从内存向磁盘输出数据时&#xff0c;必须首先输出到缓冲区中。待缓冲区装满后&#xff0c;再一起输出到磁盘文件中。 从磁盘文件向内…

lz4 与 lz77 压缩算法举例

lz4算法 abcd efab cdeh 压缩过程&#xff1a; 以长度&#xff14;为滑窗&#xff0c;&#xff11;为步长&#xff0c;对abcd计算hash存入hash table&#xff0c;计算 bcde, cdef,defa,efab,fabc的 hash 分别加入 hash table&#xff0c;下一个滑窗 abcd 找到了匹配&#xf…

Acwing.883 高斯消元解线性方程组

题目 输入一个包含n个方程n个未知数的线性方程组。 方程组中的系数为实数。 求解这个方程组。 下图为一个包含m个方程n个未知数的线性方程组示例: 输入格式 第一行包含整数n。 接下来n行&#xff0c;每行包含n1个实数&#xff0c;表示一个方程的n个系数以及等号右侧的常数。 …

Spark Catalog详解

前言 旁边的实习生说:我想要用spark代码中对hive库中的内部表和外部表进行删除(包括数据),咋感觉网上搜了一圈都找不到解决方案啊,spark这么鸡肋吗? 我:你应该静下心来好好把spark基础知识进行全面学习。 实习生:难道spark有这功能,而我没有学习过?咋弄啊? 我:学习…