Docker 网络模式

Docker网络模式详解 文章目录一、docker网络概述1、docker网络实现的原理二、 docker的网络模式1、默认网络2、使用docker run 创建Docker容器时,可以用--net或--network 选项指定容器的网络模式三、docker网络模式详解1、host模式2、container模式3、none模式4、bridge模式5、自定义网络模式 一、docker网络概述 1、docker网络实现的原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器 阅读详情

一、Docker 网络模式

当安装 Docker 时 , 会自动创建三个网络 , 可以通过命令进行查看 .

[test@Devops-gate ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
5a7aa62232c3        bridge              bridge              local
21252d48a891        host                host                local
8b52fa4f26d6        none                null                local

1. Host 

相当于 VMware 的桥接模式 , 与宿主机在同一个网络中 , 没有独立的 IP 地址 . Docker 使用了 Linux 的 Namespaces 技术来进行资源隔离 , 一个 Network Namespace 提供了一份独立的网络环境 , 但是容器启动使用了 Host 模式 , 那么这个容器将不会获得一个独立的 Network Namespace , 而是和宿主机共用一个 Network Namespace . 容器将不会虚拟出自己的网卡 , 而是使用宿主机的 IP 和端口 . 但是容器的其他方面 , 如文件系统 、进程列表等还是和宿主机隔离的 .

2. None 

该模式关闭了容器的网络功能 , 这种模式在容器不需要网络的情况下是可以使用的 .

3. Bridge(默认)

相当于 VMware 中的 nat 模式 , 容器使用独立的 Network Namespace , 并连接到 docker0 虚拟网卡 . 通过 docker0 网桥以及iptables nat 表配置与宿主机通信 . Bridge 模式是 Docker 默认的网络设置 , 该模式会为每一个容器分配 Network namespace , 并且将一个主机上的 Docker 容器连接到一个虚拟网桥上 .

4 . Container

该模式指定新创建的容器和已经存在的一个容器共享一个 Network Namespace , 而不是和宿主机共享 . 新创建的容器不会创建自己的 IP , 而是和一个指定的容器共享 IP 、端口等 . 

二、Bridge 模式

当 Docker Server 启动时 , 会在主机上创建一个名为 docker0 的虚拟网桥 , 此主机上启动的 docker 容器会连接到这个虚拟网桥上 , 这样主机上的所有容器就通过 docker0 连接在了一个二层网路中 , 接下来从定义的私有IP网段中为容器选择和宿主机不通的 IP 和子网分配给 docker0 , 连接到 docker0 的容器就从这个子网中选择一个未占用 IP 使用 . 

Docker 完成网络配置需要在主机上创建一对虚拟网卡 veth pair 设备 , veth设备总是成对出现 , 它们组成了一个数据通道 , Docker将veth pair 设备的一端放在新创建的容器中 , 命名为 eth0 , 另一端放在主机中 , 以 veth64fs 这样类似的名字命名 , 并将设备加入到 docker0 网桥中 .

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

在 bridge 模式下 , 连接在同一网桥的容器可以相互通信 , 还可以通过--ip_forward 和 --iptables 两个选项来控制容器间和外部的通信 . 主机上存在这样一条 iptables 规则:

-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE

这条规则会将172.17.0.0/16的包 , 进行源地址转换 , 转换成主机网卡的地址 , 也就是说 , 从主机上容器中去访问某一个地址 , IP包首先从容器发往自己的默认网关 docker0 , 然后查询主机的路由表 , 发现包应该从主机的 eth0 发往主机的网关 , 接着包会转发给 eth0 , 并从eth0 发出去 . 这时候 iptables 机会起作用 , 对包做 snat 转换 , 将源地址换为 eth0 的地址 .

 

 

Docker网络模式 标准的Docker支持以下4类网络模式。使用--network=host指定。使用--network=container:NAME_or_ID指定。使用--network=none指定。使用--network=bridge指定,为默认设置,缺省情况下就是bridge模式。(即,使用docker run启动一个容器时,若不指定--network参数,将默认使用网桥模式) 阅读详情

相关推荐

时序约束实战:从setup/hold到时钟路径约束的深度解析

本文深度解析数字设计中的时序约束实战,重点探讨如何从setup/hold检查的核心原理出发,理解并应用时钟路径约束。文章通过剖析Path Requirement的计算逻辑,结合同频、倍频及异步时钟域等典型场景,提供了从解读时序报告到编写、调试SDC约束的系统方法,帮助工程师有效应对复杂SoC设计中的时序收敛挑战。

weixin_29291185的博客 105

Docker的网络模式

先自定义网络,再使用指定IP运行docker。

rmh0713的博客 4805

利用Python爬虫获取淘宝商品评论:实战案例分析

在数字化时代,数据的价值日益凸显,尤其是对于电商平台而言,商品评论作为用户反馈的重要载体,蕴含着丰富的信息。本文将详细介绍如何利用Python爬虫技术获取淘宝商品评论,包括代码示例和关键步骤解析。

2401_87849335的博客 2833

docker 四种网络模式解析

实现原理 Docker使用Linux桥接(参考《Linux虚拟网络技术》),在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。 Docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法通过直接Co

李虹柏的博客 1万+

避开SiC MOSFET驱动设计的3个大坑:电流/电阻/电压配置全指南

本文深入解析SiC MOSFET驱动设计中的三大关键参数:驱动电流、栅极电阻和工作电压,揭示常见设计误区与优化方案。通过实际案例与数据对比,指导工程师避开第三代电力电子半导体应用中的典型陷阱,提升系统可靠性与效率。特别针对驱动电源配置、栅极电阻选型等核心问题提供可落地的解决方案。

weixin_29214199的博客 382

混合动作空间在强化学习中的创新应用:PDQN与MPDQN算法解析

本文深入解析了强化学习中处理混合动作空间的PDQN与MPDQN算法。针对既有离散选择又有连续调节的复杂决策场景,PDQN通过参数化深度Q网络,巧妙结合DQN与DDPG进行交替优化;MPDQN则进一步改进,为每个离散动作提供专属参数评估以减少干扰。文章通过游戏、自动驾驶等实例阐述了其应用价值与面临的挑战。

efc123456的博客 861

Docker 容器之网络模式

​    Docker 除了上述四种原生的网络模式外, Docker 还能够扩展支持自定义网络模式。自定义的网络模式是对 Docker 默认 Bridge 网络的增强,提供了更佳的功能性和灵活性。自定义的网络模式能够用户根据需求,创建的虚拟网络环境,用于更精细地控制容器间的通信方式和网络配置。注意别于默认的桥接模式,使用的网络驱动仍是桥接,底层依然利用 Linux Bridge 、Veth Pair 技术,但功能比默认 Docker0 强大得多。

Java_fenxiang的博客 782

MCSDK5.4.8电机库双电阻采样适配:从扇区判断到固定采样的重构实践

本文详细解析了MCSDK5.4.8电机库中双电阻采样技术的重构实践,从扇区判断到固定采样的关键步骤。通过硬件配置优化、核心文件重构及电流读取函数改造,实现高效稳定的电机控制,特别适用于成本敏感型项目。文章还提供了占空比限制计算、参数调整及常见问题排查等实用技巧,助力工程师快速掌握两电阻采样方法。

weixin_42532938的博客 279

Docker网络模式解析

docker四种网络模式解析以及对应的小demo

m0_62946761的博客 1万+

海思方案定制hi3531dv200/SS528 DVR方案解析:从硬件选型到编解码实战应用

海思方案,Hi3518EV100,Hi3518CV100,Hi3515CV100,Hi3516CV100,Hi3516ECV100,Hi3516D,Hi3516A,Hi3519,Hi3520D,Hi3521A,Hi3535,Hi3531,Hi3536,Hi3536C,Hi3536D,Hi3518EV200,Hi3518EV201,Hi3520DV200,Hi3516CV200,Hi3516CV300,Hi3516AV200,Hi3520DV300,Hi3519V101,sd3403,hi3519av200

1585

hwasan实例分析踩内存之七:CamX进程chifeature2base怪异的Cause: use-after-free

摘要:本文分析了高通camx进程中的指针异常crash问题,通过构建hwasan版本确认存在内存踩踏现象。日志显示为"use-after-free"类型错误,具体为线程T175672在已释放内存区域执行写入操作。堆栈分析表明ChiFeature2Base::PipelineDestroyCb()函数访问了已被ChiFeature2Base::DestroyFeatureData()释放的pPipelineData对象。该问题源于多线程环境下内存管理不同步,导致释放后仍被引用。解决方案通过

1073

docker网络模式

直接使用bridge模式,是无法支持指定IP运行docker的#docker1 为执行 ifconfig -a 命令时,显示的网卡名,如果不使用 --opt 参数指定此名称,那你在使用 ifconfig -a 命令查看网络信息时,看到的是类似 br-110eb56a0b22 这样的名字,这显然不怎么好记。#mynetwork 为执行 docker network list 命令时,显示的bridge网络模式名称。1、#此处需run一个容器test4,指定网络IP运行容器test4。

wys_jj的博客 1028

QT使用libssh2库通过密匙实现sftp协议上传文件

qt下使用libssh2通过密匙连接sftp服务器端

小米的修行之路 937

docker的网络模式

Bridge 模式:默认模式,适用于大多数单机场景,支持端口映射和自定义网络。Host 模式:容器共享宿主机网络栈,性能高,但安全性较低。None 模式:容器没有网络配置,适用于完全隔离或自定义网络需求的场景。Container 模式:多个容器共享网络栈,适用于紧密协作的容器。Macvlan 模式:容器直接连接到物理网络,拥有自己的 MAC 和 IP。Overlay 模式:用于跨主机的分布式网络,适用于集群环境。自定义 Bridge 模式:创建用户定义的网络,提供更好的网络隔离和容器间通信。

qq_41917355的博客 1858

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

docker 网络模式

⾃定义容器⽹络可使不同的集群使⽤不同的⽹络,避免相互影响。查看所有docker⽹络:docker network ls⾃定义docker⽹络:docker network create --driver bridge --subnet 192.168.1.0/24 --gateway 192.168.1.254 mynetcreate #创建⽹络--driver #定义⽹络模式--subnet #定义⽹络IP--gateway #指定⽹关mynet #是⾃⼰定义的⽹络名称。

WWNY666的博客 2182

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Docker 容器网络模式详解

本文详解 Docker 容器网络模式,涵盖 Bridge、Host、None 和 Container 模式。Bridge 模式使用虚拟网桥连接容器与宿主机,适合容器间通信;Host 模式共享宿主机网络,提升网络性能;None 模式完全隔离,无网络接口;Container 模式共享指定容器的网络。此外,文中还比了 Docker 与 VMware 的网络模式.

Linux内核研究者 1748

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: npm install 报错 EACCES: permission denied, mkdir XXXX
下一篇: Prometheus介绍
~包工头~
博客等级 码龄10年 5粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值