一起学docker系列之十五深入了解 Docker Network:构建容器间通信的桥梁
目录
- 1 前言
- 2 什么是 Docker Network
- 3 Docker Network 的不同模式
- 3.1 桥接模式(Bridge)
- 3.2 Host 模式
- 3.3 无网络模式(None)
- 3.4 容器模式(Container)
- 4 Docker Network 命令及用法
- 4.1 `docker network ls`
- 4.2 `docker network COMMAND`
- 4.3 `docker network connect`
- 4.4 `docker network create`
- 4.5 `docker network disconnect`
- 4.6 `docker network inspect`
- 4.7 `docker network prune`
- 4.8 `docker network rm`
- 5 Docker Network 的应用
- 6 总结
- 7 参考地址
1 前言
在容器化技术中,Docker Network是连接和管理容器之间通信的核心组件。它为容器提供了强大的网络功能,使得容器可以互相通信,同时也能与外部网络进行交互。本文将全面介绍Docker Network的作用、不同的网络模式以及相关命令,同时提供实例来展示Docker Network的应用场景和用法。

2 什么是 Docker Network
Docker Network是Docker技术框架中的重要组成部分,用于管理和连接容器间的网络通信。它提供了灵活的网络配置选项,允许容器在不同的网络模式下进行通信,同时保证容器的网络隔离性。
在Docker中,每个容器都可以拥有自己的网络命名空间,并且可以使用不同的网络驱动程序进行连接,从而实现各种网络模式的配置。
3 Docker Network 的不同模式
不同的网络模式提供了灵活的配置选项,适用于不同的容器化场景。

3.1 桥接模式(Bridge)
作用: 默认模式,在 Docker 中为每个容器创建一个虚拟网桥(docker0),并为容器分配一个独立的 IP 地址。这些容器可以相互通信,并能与外部网络通信。
适用场景:
- 需要容器互相通信的场景,如微服务架构中的多个服务之间的通信。
- 需要容器与外部网络进行交互的场景,比如容器需要通过公共网络访问外部资源。
3.2 Host 模式
作用: 容器直接使用宿主机的网络栈,共享宿主机的网络配置,包括 IP 和端口。这使得容器可以直接使用宿主机的网络,提供了最佳的网络性能。
适用场景:
- 无需端口映射,并希望获得最佳性能的情况下使用,比如特定性能要求较高的应用场景。
3.3 无网络模式(None)
作用: 容器拥有独立的网络命名空间,但没有任何网络配置,仅有本地回环地址。这种模式适用于一些特殊要求的场景,例如在容器中进行网络调试和测试。
适用场景:
- 需要在容器内部进行网络调试和测试的情况下使用。
3.4 容器模式(Container)
作用: 多个容器共享相同的网络命名空间,共享 IP 和端口范围,允许多个容器共享网络栈。
适用场景:
- 需要多个容器之间共享网络栈的情况,允许这些容器能够共享相同的 IP 和端口范围,适用于一些特定的应用场景。
这些网络模式提供了不同的网络配置选项,使得用户能够根据不同的需求,选择最适合其应用场景的网络模式,以达到最佳的网络管理和容器通信效果。
4 Docker Network 命令及用法
Docker 网络有许多命令可供使用,用于管理、创建和连接网络以及检查网络信息。
4.1 docker network ls
作用: 列出 Docker 中的所有网络。
用法:
docker network ls
4.2 docker network COMMAND
docker network 命令本身是一个高级命令,用于管理 Docker 网络。它后面可以跟着其他子命令,如 connect、create、disconnect、inspect、ls、prune、rm 等。
4.3 docker network connect
作用: 将容器连接到指定网络。
用法:
docker network connect <network_name> <container_name>
这会将指定容器连接到指定网络。
4.4 docker network create
作用: 创建一个新的 Docker 网络。
用法:
docker network create <network_name>
这会创建一个名为 <network_name> 的新网络。
4.5 docker network disconnect
作用: 从指定网络中断开容器。
用法:
docker network disconnect <network_name> <container_name>
这会将指定容器从指定网络中断开。
4.6 docker network inspect
作用: 检查指定网络的详细信息。
用法:
docker network inspect <network_name>
这会显示有关指定网络的详细信息,包括网络的配置和连接的容器等。
4.7 docker network prune
作用: 清理未使用的网络。
用法:
docker network prune
这会删除未使用的 Docker 网络。
4.8 docker network rm
作用: 删除一个或多个网络。
用法:
docker network rm <network_name>
这会删除指定的 Docker 网络。
5 Docker Network 的应用
容器间互联通信
假设有一个Web应用和一个数据库,可以通过创建自定义网络来连接它们,实现容器间的通信。首先创建网络:
docker network create my_network
然后将应用和数据库连接到该网络:
docker run -d --name web_app --network my_network app_image
docker run -d --name database --network my_network db_image
现在,这两个容器可以通过容器名称相互访问。
6 总结
Docker Network是连接和管理容器间通信的重要组件,在容器化应用中发挥着关键作用。它提供了多种网络模式和命令,使得用户能够灵活配置和管理容器的网络连接,实现了容器间的高效通信和网络隔离。
通过本文的介绍,你应该对Docker Network的概念、不同模式以及常用命令有了更深入的了解,能够更好地应用于实际场景中。
7 参考地址
https://docs.docker.com/engine/reference/builder
相关文章:
一起学docker系列之十五深入了解 Docker Network:构建容器间通信的桥梁
目录 1 前言2 什么是 Docker Network3 Docker Network 的不同模式3.1 桥接模式(Bridge)3.2 Host 模式3.3 无网络模式(None)3.4 容器模式(Container) 4 Docker Network 命令及用法4.1 docker network ls4.2 …...
前端OFD文件预览(vue案例cafe-ofd)
0、提示 下面只有vue的使用示例demo ,官文档参考 cafe-ofd - npm 其他平台可以参考 ofd - npm 官方线上demo: ofd 1、安装包 npm install cafe-ofd --save 2、引入 import cafeOfd from cafe-ofd import cafe-ofd/package/index.css Vue.use(cafeOfd) 3、使…...
Java[list/set]通用遍历方法之Iterator
需求:输入一个字符串 将其拆解成单个汉字 然后一行一个输出 这里要求使用到Arraylist集合实现方法Itrator遍历的原理import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;public class Main{public static void main(String[] arg…...
ubuntu/vscode下的c/c++开发之-CMake语法与练习
Cmake学习 1 语法特性介绍 基本语法格式:指令(参数 1 参数 2...) 参数使用括弧括起参数之间使用空格或分号分开 指令是大小写无关的,参数和变量是大小写相关的 set(HELLO hello.cpp) add_executable(hello main.cpp hello.cpp) ADD_EXECUTABLE(hello ma…...
Java(119):ExcelUtil工具类(org.apache.poi读取和写入Excel)
ExcelUtil工具类(XSSFWorkbook读取和写入Excel),入参和出参都是:List<Map<String,Object>> 一、读取Excel testdata.xlsx 1、new XSSFWorkbook对象 File file = new File(filePath); FileInputStream fis = new FileInputStream(file);…...
Kong处理web服务跨域
前言 好久没写文章了,大概有半年多了,这半年故事太多,本文写不下,就写写文章标题问题! 问题描述 关于跨域的本质问题我这里不过多介绍,详细请看历史文章 跨域产生的原因以及常见的解决方案。 我这边是新…...
Kotlin学习——kt里的作用域函数scope function,let,run,with,apply,also
Kotlin 是一门现代但已成熟的编程语言,旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作,并提供了多种方式在多个平台间复用代码,以实现高效编程。 https://play.kotlinlang.org/byExample/01_introduction/02_Functio…...
informer辅助笔记:utils/timefeatures.py
定义了一套与时间特征相关的类和函数,旨在从时间序列数据中提取有用的时间特征,以支持各种时间序列分析和预测任务 from typing import Listimport numpy as np import pandas as pd from pandas.tseries import offsets from pandas.tseries.frequenc…...
[Verilog语法]:===和!==运算符使用注意事项
[Verilog语法]:和!运算符使用注意事项 1, 和 !运算符使用注意事项2,3, 1, 和 !运算符使用注意事项 参考文献: 1,[SystemVerilog语法拾遗] 和!运算符使用注意事项 2, 3,...
mybatis 高并发查询性能问题
场景: 使用Mybatis (3.5.10)SelectProvider注解执行动态sql 在高并发查询时 QPS 很低 问题复现 mybatis 配置 (getOfflineConfigSqlTemplate 该方法返回的是动态sql ) 压测结果 观察线程阻塞情况 此时的QPS 在 …...
我在Vscode学OpenCV 图像处理一(阈值处理、形态学操作【连通性,腐蚀和膨胀,开闭运算,礼帽和黑帽,内核】)
文章目录 一、阈值处理1.1 OpenCV 提供了函数 cv2.threshold()和函数 cv2.adaptiveThreshold(),用于实现阈值处理1.1.1. cv2.threshold():(1)在函数cv2.threshold()中,参数threshold_type用于指定阈值处理的方式。它有以下几种可选的阈值类型…...
Yolov8实现瓶盖正反面检测
一、模型介绍 模型基于 yolov8n数据集采用SKU-110k,这数据集太大了十几个 G,所以只训练了 10 轮左右就拿来微调了 基于原木数据微调:训练 200 轮的效果 10 轮SKU-110k 20 轮原木 200 轮瓶盖正反面 微调模型下载地址https://wwxd.lanzouu.co…...
GAN:WGAN前作
WGAN前作:有原则的方法来训练GANs 论文:https://arxiv.org/abs/1701.04862 发表:ICLR 2017 本文是wgan三部曲的第一部。文中并没有引入新的算法,而是标是朝着完全理解生成对抗网络的训练动态过程迈进理论性的一步。 文中基本是…...
数据库应用:MongoDB 文档与索引管理
目录 一、理论 1.MongoDB文档管理 2.MongoDB索引管理 二、实验 1.MongoDB文档管理 2.MongoDB索引管理(索引添加与删除) 3.MongoDB索引管理(全文索引) 4.MongoDB索引管理(多列索引) 5.MongoDB索引管…...
Python批处理PDF文件,PDF附件轻松批量提取
PDF附件是指在PDF文档中嵌入的其他文件,如图像、表格、音频、视频或其他文档。这些附件可以与PDF文档一起存储、传输和共享,为文档提供了更丰富的内容和更多的功能。通过添加附件,我们可以将相关文件和信息捆绑在一起,使其更易于管…...
Python可迭代对象排序:深入排序算法与定制排序
更多Python学习内容:ipengtao.com 排序在计算机科学中是一项基础而关键的操作,而Python提供了强大的排序工具来满足不同场景下的排序需求。本文将深入探讨Python中对可迭代对象进行排序的方法,涵盖基础排序算法、sorted函数的应用、以及定制排…...
基于matlab的图像去噪算法设计与实现
摘 要 随着我们生活水平的提高,科技产品飞速更新换代,在信息传输中,图像传输所占的比重越来越大。但自然噪声会在图像传输时干扰其传输过程,甚至会使图片不能表达其原来的意义。去噪处理就是为了去除图像中的噪声,从而…...
NFTScan 正式上线 Starknet NFTScan 浏览器和 NFT API 数据服务
2023 年 11 月 30 号,NFTScan 团队正式对外发布了 Starknet NFTScan 浏览器,将为 Starknet 生态的 NFT 开发者和用户提供简洁高效的 NFT 数据搜索查询服务。NFTScan 作为全球领先的 NFT 数据基础设施服务商,Starknet 是继 Bitcoin、Ethereum、…...
2023年亚太杯APMCM数学建模大赛A题水果采摘机器人的图像识别
2023年亚太杯APMCM数学建模大赛 A题 水果采摘机器人的图像识别 原题再现 中国是世界上最大的苹果生产国,年产量约3500万吨。同时,中国也是世界上最大的苹果出口国,世界上每两个苹果中就有一个是中国出口的,世界上超过六分之一的…...
mysql which is not in SELECT list; this is incompatible with DISTINCT解决方案
mysql报错Expression #1 of ORDER BY clause is not in SELECT list, references column ‘xxx’ which is not in SELECT list; this is incompatible with DISTINCT解决方案: 这是在 mysql5.7 版本,DISTINCT 与 order by 在一起用时则会报3065错误。因…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
