Docker系列(六):Docker网络机制(下)
Linux Namespace详解

namespace:是一个空间,空间里可以放进程,文件系统,账号,网络等,某个资源被放到namespace之后
别人就看不到他了。
可以看到有两个namespace下两个相同名字的进程0,并不冲突,每个namespace是独立的隔离的,相当于一个linux系统
容器就相当于一个namespace,集成网络,文件等资源。


点对点模式

veth pair是用于不同network namespace间 进行通信的方式,veth pair将一个network namespace数据发往另一个network namespace的veth。
交换机模式

Linux Bridge可以实现类似交换机的工作模式, 将多个不同Namespace上的网卡连通
linuxbrige只是mac地址交换,linux Brige有ip地址,所以可以做路由转发。
举例

默认情况下,创建一个docker容器,会自动创建一个docker0的网桥,可以看到interface 是没有的,说明bridge是空的没有挂载端口,当你启动一个容器后,bridge就会出现一个端口。
每建立一个容器就会出现一个veth pair对,veth pair一端挂载在docker0上,一端挂载在容器的网卡上
docker中的namespace和pid是一样的,进程的编号就是namespace名称,这里的进程指的是containner本身的pid,不是containert里面应用的pid。


OVS+Docker



上图是不容网段的,相同网段的可以通过二层,不同网段的必须通过交换机,
安装ovs
vi /etc/selinux/config SELINUX=disabled
重启
yum install openvswitch-2.4.0-1.x86_64.rpm
[root@docker128 ~]# service openvswitch restart Restarting openvswitch (via systemctl):[ OK ]
[root@docker128 ~]# service openvswitch status
ovsdb-server is running with pid 2429
ovs-vswitchd is running with pid 2439




说明了,gre是在物理网络上进行传播的,并不是在brg里面,只是在物理网络里面进行了二次封装,所以走的还是eth0.
Docker系列(六):Docker网络机制(下)的更多相关文章
- Docker系列04—Docker的网络模式详解
本文收录在容器技术学习系列文章总目录 1.Docker的四种网络模式 (1)docker四种网络模式如下: Bridge contauner 桥接式网络模式 Host(open) containe ...
- Docker系列02—Docker 网络模式
一.Docker的四种网络模式 1.Docker 的四种网络模式: Bridge container 桥接式网络模式 Host(open) container 开放式网络模式 Container(jo ...
- Docker 系列六(Docker Swarm 项目).
一.前言 随着互联网快速发展,以及微服务架构的流行,服务器的压力越来越大.上一篇介绍的 Docker Compose 项目,可以将多个容器捏合在一起,实现容器间的通信,比如 Web 项目对 DB.Ca ...
- Docker系列六: 使用Docker官方公共仓库和私有仓库
使用公共仓库 登陆官方网站:https://hub.docker.com/ 注册账号和密码 在Docker hub中创建一个资源, create respositories, 创建后会提示 ...
- Docker系列03—Docker 基础入门
本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...
- Docker系列05—Docker 存储卷详解
本文收录在容器技术学习系列文章总目录 1.存储卷介绍 1.1 背景 (1)docker 的 AFUS 分层文件系统 docker镜像由多个只读层叠加面成,启动容器时,docker会加载只读镜像层并在镜 ...
- Docker系列01—Docker 基础入门
一.初识Docker和容器 1.1 什么是docker 容纳其他物品的工具,可以部分或完全封闭,被用于容纳.存储.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. 容器? 容器就是在隔离的环 ...
- docker 系列之 docker安装
Docker支持以下的CentOS版本 CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发行版本中的内核支持 Docker. ...
- Docker系列一: docker简介及基本环境安装
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Li ...
- Docker系列03—Docker 存储卷
一.存储卷介绍 1.1 背景 Docker 的 AFUS 分层文件系统 docker镜像由多个只读层叠加而成,启动容器时,docker会加载只读镜像层并在镜像栈顶部加一个读写层: 如果运行的容器修改了 ...
随机推荐
- Python学习笔记(八)——正则表达式
正则表达式 \d表示匹配一个数字 例如,1\d\d可以匹配以1开头的三位数字 \w可以匹配一个字母或者数字 例如,\d\w可以匹配12,1A等 .可以匹配任意字符 例如,py.表示pyc.pya等 * ...
- Tools: CGAL 安装指南
环境:Microsoft Win7 SP1 Visual Studio 2015 SP3 参考: https://blog.csdn.net/milkpku/article/details/50241 ...
- Qt 【无法打开 xxxx头文件】
经过多次磕碰,终于发现了通用的办法. 测试环境Qt5.5.1 mvcs 比如需要用到QtWin 直接去包含然后运行,but fail, 我去查找他的父类 QtWinExtras Qt自带的自动补全, ...
- js用正则判断身份证号码
在用户注册或修改信息时会用到正则表达式判断身份证号,直接调用该函数即可 //判断身份证号码 function idCardFn(idCard){ }(||)?\d{}([-]|[])([-]|[]\d ...
- cin,cout优化
https://www.cnblogs.com/PrayG/p/5749832.html ios_base::sync_with_stdio(0); cin.tie(0); 涨知识了
- WPF RichTextBox 当前光标后一个字符是文档的第几个字符
WPF RichTextBox 当前光标后一个字符是文档的第几个字符 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-05 参考: TextP ...
- javascript--判断语句
1.if...else.. if(m===1){ console.log('1') }else{ console.log('X') } 一般if 里面采用类型全等的运算符. 2.switch var ...
- Delphi做异型窗体PNG透明
{*******************************************************}{ }{ 异形窗口 }{ }{ 2009.12.4 王 锐 }{ }{******** ...
- BZOJ 2225: [Spoj 2371]Another Longest Increasing (CDQ分治+dp)
题面 Description 给定N个数对(xi, yi),求最长上升子序列的长度.上升序列定义为{(xi, yi)}满足对i<j有xi<xj且yi<yj. Input Output ...
- flutter 显示HTML代码
需求是后台返回的是富文本,所以需要吧富文本转成flutter 能识别的内容 找了几个插件只有这个比较好用写下来 dependencies: flutter_html: ^0.9.8 安装 下剩下的就比 ...